āĻāĻŽāĻŋ āĻ˛āĻžāĻ°āĻžāĻā§āĻ˛ 7 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°ā§āĻāĻĢā§āĻ˛āĻŋāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻ¯āĻžāĻ¤ā§ āĻŽā§āĻ˛ āĻĒā§āĻˇā§āĻ āĻžāĻāĻŋ āĻāĻāĻāĻŋ āĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŋāĻ āĻĒā§āĻˇā§āĻ āĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻ ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ¨āĻž. āĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¸ā§āĻāĻŋāĻ˛āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻžāĻŽā§āĻ˛āĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĻžāĻā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŽāĻŋ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻŽāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§ āĻā§āĻŦ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻ¨āĻ; āĻāĻŽāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§āĻ°ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻ¸āĻžāĻŽāĻ¨ā§ āĻĨāĻžāĻāĻŋāĨ¤ āĻāĻŦāĻ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻŋ āĻāĻāĻ¨āĻ āĻĒāĻŋāĻāĻāĻāĻĒāĻŋāĻ¤ā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻāĻŽāĻŋ āĻāĻāĻ¨ā§ āĻŦāĻĄāĻŧ āĻšāĻāĻ¨āĻŋāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻāĻž āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻā§.
āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻ¸āĻāĻ¸āĻāĻāĻ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ˛āĻā§āĻ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻžāĻā§āĻ° āĻ¸āĻžāĻāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻļā§āĻˇ āĻāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻžāĻĒ āĻ āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°āĻŦāĨ¤ āĻāĻŽāĻ°āĻž āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦ āĻ¸āĻŦ āĻŦāĻŋāĻĒāĻ¤ā§āĻ¤āĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§. āĻ¸āĻŦ āĻĒāĻ°ā§, āĻāĻŽāĻŋ āĻ āĻŦāĻļā§āĻˇā§ āĻāĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ. āĻ¸āĻ¤ā§āĻ¯, āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻāĻāĻžāĻ°āĻĢā§āĻ˛ā§-āĻāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻžāĻĄāĻŧāĻž āĻ¨āĻ¯āĻŧ, āĻāĻŦāĻ āĻā§āĻŦ āĻāĻŽāĻ āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻāĻžāĻˇāĻžāĻ¯āĻŧāĨ¤ āĻāĻŽāĻŋ āĻāĻˇā§āĻ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻŦāĻ¨āĻā§ āĻ¸āĻšāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤
āĻāĻŽāĻ°āĻž DigitalOcean-āĻ āĻāĻ āĻĢā§āĻāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ°āĻŦāĨ¤ āĻāĻāĻŋ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ; āĻ¯ā§āĻā§āĻ¨ā§ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻŦā§āĻā§ āĻ¨āĻŋāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻŦā§āĻ¨ā§āĻā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻĒā§āĻāĻāĻžāĻ¨, āĻĢāĻŋāĻ°ā§ āĻāĻ¸ā§āĻ¨āĨ¤ āĻ¯āĻžāĻ°āĻž āĻāĻāĻ¨āĻ DigitalOcean-āĻ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻā§āĻ¨, āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĄā§āĻŽā§āĻ¨ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°āĻ āĻāĻŋāĻĒāĻ¸ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻŦāĻ
āĻ¸āĻŽāĻ¸ā§āĻ¤ DigitalOcean-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻāĻ āĻŽāĻ¤ āĻĢā§āĻāĻ¨ā§āĻā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻŦā§.
āĻāĻ˛ āĻļā§āĻ°ā§ āĻāĻ°āĻŋ.
TL;DR (āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§āĻ˛āĻŋāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ)
āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
ssh root@[IP-Đ°Đ´ŅĐĩŅ ваŅĐĩĐŗĐž Đ´ŅĐžĐŋĐģĐĩŅĐ°]
adduser laravel
usermod -aG sudo laravel
su laravel
āĻāĻ¤ā§ SSH āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
- āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻā§ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻ¨
chmod 600 ~/.ssh/authorized_keys
āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
nginx
sudo apt update
sudo apt install -y nginx
sudo ufw allow 'Nginx HTTP'
sudo ufw status
āĻŽāĻžāĻāĻāĻ¸āĻāĻŋāĻāĻāĻ˛
sudo apt install -y mysql-server
sudo mysql_secure_installation
,NYNNY
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<ĐĐ°Ņ ĐŋĐ°ŅĐžĐģŅ Đ´ĐģŅ MySQL>';
SELECT user,authentication_string,plugin,host FROM mysql.user;
FLUSH PRIVILEGES;
exit
āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ
-
sudo apt update
-
sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
-
sudo apt-add-repository ppa:ondrej/php
-
sudo apt update
-
7.3:
sudo apt install -y php7.3-fpm php7.3-mysql
-
7.4:
sudo apt install -y php7.4-fpm php7.4-mysql
-
sudo vim /etc/nginx/sites-available/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>
āĻŽā§āĻ˛āĻŋāĻ āĻ¸ā§āĻāĻāĻĒ:
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ иĐģи IP>;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
āĻ˛āĻžāĻ°āĻžāĻā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° HTTP āĻ¸ā§āĻāĻāĻĒ:
server {
listen 80;
listen [::]:80;
root /var/www/html/<ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ иĐģи IP>;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
āĻ˛āĻžāĻ°āĻžāĻā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ HTTPS āĻ¸ā§āĻāĻŋāĻ:
server {
listen 80;
listen [::]:80;
server_name <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ> www.<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ> www.<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>;
root /var/www/html/<ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>/public;
ssl_certificate /etc/letsencrypt/live/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>/privkey.pem;
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers on;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php index.html index.htm index.nginx-debian.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
location ~ /.well-known {
allow all;
}
}
sudo ln -s /etc/nginx/sites-available/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ> /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
Laravel
-
7.3:
sudo apt install -y php7.3-mbstring php7.3-xml composer unzip
-
7.4:
sudo apt install -y php7.4-mbstring php7.4-xml composer unzip
-
mysql -u root -p
-
CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-
GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<ĐĐ°Ņ ĐŋĐ°ŅĐžĐģŅ ĐžŅ MySQL>';
-
FLUSH PRIVILEGES;
-
exit
-
cd /var/www/html
-
sudo mkdir -p <ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>
-
sudo chown laravel:laravel <ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>
-
cd ./<ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>
-
git clone <ŅŅŅĐģĐēĐ° ĐŊĐ° ĐŋŅĐžĐĩĐēŅ> .
/git clone -b <иĐŧŅ вĐĩŅĐēи> --single-branch <ŅŅŅĐģĐēĐ° ĐŊĐ° ĐŋŅĐžĐĩĐēŅ> .
-
composer install
-
vim .env
APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<ĐĐ°Ņ ĐŋĐ°ŅĐžĐģŅ ĐžŅ MySQL>
-
php artisan migrate
-
php artisan key:generate
-
sudo chown -R $USER:www-data storage
-
sudo chown -R $USER:www-data bootstrap/cache
-
chmod -R 775 storage
-
chmod -R 775 bootstrap/cache
HTTPS āĻĻā§āĻŦāĻžāĻ°āĻž
-
sudo add-apt-repository ppa:certbot/certbot
-
sudo apt install -y python-certbot-nginx
-
sudo certbot certonly --webroot --webroot-path=/var/www/html/<ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>/public -d <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ> -d www.<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>
-
sudo nginx -t
-
sudo ufw allow 'Nginx HTTPS'
-
sudo ufw status
-
sudo systemctl reload nginx
DigitalOcean-āĻ āĻāĻāĻāĻŋ āĻĢā§āĻāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ SSH āĻā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°ā§āĻ¨ā§ˇ
āĻāĻŽāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻā§āĻ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻāĻŋāĻāĻžāĻŦā§ DigitalOcean āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°āĻŦā§āĻ¨āĨ¤ āĻ āĻ¨ā§āĻ āĻ¯āĻžāĻāĻžāĻ-āĻŦāĻžāĻāĻžāĻ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ¸āĻš āĻāĻāĻŋ āĻ¸āĻšāĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĒāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻāĻŋ VPN āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨, āĻāĻāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
āĻāĻĒāĻ°ā§āĻ° āĻŽā§āĻ¨ā§āĻ¤ā§, āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻ¸ā§āĻˇā§āĻāĻŋ->āĻŦāĻŋāĻ¨ā§āĻĻā§āĨ¤ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻŦā§āĻ¨ā§āĻā§.
āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°āĻŦā§āĻ¨, āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§ $100 āĻĒāĻžāĻŦā§āĻ¨āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻšāĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻŽāĻžāĻ¤ā§āĻ° 60 āĻĻāĻŋāĻ¨ āĻāĻā§āĨ¤ āĻāĻŦāĻ āĻāĻ āĻā§āĻŦ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯. āĻāĻĒāĻ¨āĻŋ, āĻāĻŽāĻžāĻ° āĻŽāĻ¤ā§, āĻāĻāĻāĻŋ āĻāĻ°āĻ āĻŦā§āĻ¯āĻ¯āĻŧāĻŦāĻšā§āĻ˛ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯āĻžāĻ¤ā§ āĻĒāĻ°ā§, āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻā§āĻ¤ āĻ āĻ°ā§āĻĨ āĻĒā§āĻ°āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¸āĻ¸ā§āĻ¤āĻžāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ā§ˇ āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦāĻ˛āĻŦ āĻ¯ā§ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻŽāĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ āĻāĻāĻž āĻ¯āĻžāĻ¯āĻŧ. āĻāĻŽāĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°ā§āĻāĻŋ āĻŽāĻžāĻ¨->$5.
āĻāĻŽāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻžāĻā§āĻ° āĻ āĻā§āĻāĻ˛āĻāĻŋ āĻŦā§āĻā§ āĻ¨āĻŋāĻ āĻĢā§āĻ°āĻžāĻāĻāĻĢā§āĻ°ā§āĻ. āĻāĻŋāĻĒāĻŋāĻ¸āĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ->āĻĄāĻŋāĻĢāĻ˛ā§āĻ-fra1
āĻāĻŽāĻ°āĻž āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ SSH āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻŦāĨ¤ āĻā§āĻ˛āĻŋāĻ āĻ¨āĻ¤ā§āĻ¨ SSH āĻā§. āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ SSH āĻ¨āĻž āĻĨāĻžāĻā§, āĻĄāĻžāĻ¨āĻĻāĻŋāĻā§ āĻā§āĻŦ āĻ¸āĻšāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻā§āĨ¤ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻļ āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨
ssh-keygen
. āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŽāĻ°āĻž āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻĢāĻžāĻāĻ˛ā§ āĻ¯āĻžāĻ/Users/<ĐĐ°ŅĐĩ иĐŧŅ ĐŋĐžĐģŅСОваŅĐĩĐģŅ>/.ssh/id_rsa.pub
(āĻŦāĻž āĻ¸āĻšāĻāĻāĻžāĻŦā§cat ~/.ssh/id_rsa.pub
), āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻŦāĻžāĻŽ āĻĻāĻŋāĻā§āĻ° āĻāĻāĻ¨ā§āĻĄā§āĻ¤ā§ āĻĒā§āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯ā§āĻā§āĻ¨ āĻ¨āĻžāĻŽ.āĻāĻŽāĻ°āĻž āĻĄā§āĻ°āĻĒāĻ˛ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻšā§āĻ¸ā§āĻāĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĻāĻŋāĨ¤
āĻ§āĻžāĻā§āĻāĻž āĻĢā§āĻāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
ssh root@[IP-Đ°Đ´ŅĐĩŅ ваŅĐĩĐŗĐž Đ´ŅĐžĐŋĐģĐĩŅĐ°]
- āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻžāĻŦā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻāĻžāĻ¨ (āĻšā§āĻ¯āĻžāĻ/āĻ¨āĻž/[āĻāĻā§āĻ˛ā§āĻ° āĻāĻžāĻĒ])?
yes
- āĻāĻĒāĻ¨āĻžāĻ° SSH āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ˛āĻŋāĻā§āĻ¨
- āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ Laravel:
adduser laravel
- āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¤āĻĨā§āĻ¯ āĻ˛āĻŋāĻā§āĻ¨ (āĻāĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻžāĻŽ āĻ˛āĻŋāĻāĻāĻŋ)
- āĻ¸ā§āĻĄā§ āĻā§āĻ°ā§āĻĒā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨:
usermod -aG sudo laravel
āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ SSH
- āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ¤ā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨:
su laravel
āĻāĻŽāĻ°āĻž āĻ˛āĻžāĻ°āĻžāĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĒāĻā§āĻˇ āĻĨā§āĻā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻļā§āĻˇ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ°āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻŋāĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻšāĻ āĻžā§ āĻŦāĻžāĻ§āĻžāĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¨, āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻāĻāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻ¨ su laravel
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
āĻāĻŽāĻ°āĻž āĻāĻŋāĻŽā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻā§āĻ˛āĻ˛āĻžāĻŽāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻŦāĻžāĻ°ā§āĻ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻ§āĻŋāĻāĻžāĻ°.
āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŽā§āĻ˛āĻŋāĻ Vim āĻāĻŽāĻžāĻ¨ā§āĻĄ
āĻĒā§āĻ°ā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻā§āĻĄāĻŧā§ āĻāĻŋāĻŽ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻŦāĻ˛ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻāĻžāĻ¨āĻ¤ā§ āĻšāĻŦā§āĨ¤
- āĻāĻŋāĻŽā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŽā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§: āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŽā§āĻĄ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻŋāĻā§āĻ¨ āĻāĻŦāĻ āĻŽā§āĻĄ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤
- āĻ¯ā§āĻā§āĻ¨ā§ āĻŽā§āĻĄ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻŽā§āĻĄā§ āĻĢāĻŋāĻ°ā§ āĻ¯ā§āĻ¤ā§, āĻļā§āĻ§ā§ āĻāĻŋāĻĒā§āĻ¨
Esc
- āĻāĻžāĻ°āĻĒāĻžāĻļā§ āĻ¸āĻ°āĻžāĻ¨: āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§ āĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
- āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻ¨āĻž āĻāĻ°ā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĻ¨
<Normal mode>
::q!
- āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨
<Normal mode>
::wq
- āĻā§āĻā§āĻ¸āĻ āĻāĻ¨āĻĒā§āĻ āĻŽā§āĻĄā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨
<Normal mode>
:i
(āĻāĻāĻ°ā§āĻāĻŋ āĻĨā§āĻā§ āĻĸā§āĻāĻžāĻ¨)
- āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻā§ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻŋ (āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻĒāĻ°ā§ āĻāĻ°ā§āĻāĻŋ)
- āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§ āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻŋ:
chmod 600 ~/.ssh/authorized_keys
āĻāĻāĻāĻŋ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
- āĻāĻ¸ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻĻā§āĻā§āĻ¨:
sudo ufw app list
- OpenSSH āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨ (āĻ
āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ˛āĻ āĻāĻ°āĻŦā§):
sudo ufw allow OpenSSH
- āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻ¯āĻžāĻ:
sudo ufw enable
,y
- āĻā§āĻ āĻāĻ°ā§āĻ¨:
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāĻā§.
Nginx āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻžāĻā§ āĻŽāĻžāĻā§ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻž āĻšāĻŦā§ "āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤?" āĻāĻ¤ā§āĻ¤āĻ° y
(āĻāĻžāĻ˛, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻšāĻ¨)āĨ¤
sudo apt update
sudo apt install nginx
āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ Nginx āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§
sudo ufw app list
sudo ufw allow 'Nginx HTTP'
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻĒāĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨āĨ¤ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻāĻ āĻžāĻ āĻĨāĻžāĻāĻ˛ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻŽāĻžāĻāĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
sudo apt install mysql-server
- āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸ā§āĻ°āĻā§āĻˇāĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻā§āĻā§
sudo mysql_secure_installation
āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻž āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻ¨āĻž āĻāĻžāĻ¨āĻ˛ā§, āĻāĻāĻžāĻ¨ā§ āĻāĻŋāĻā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§:
-
āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§āĻ¨ -
N
-
āĻŦā§āĻ¨āĻžāĻŽā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ¸āĻ°āĻžāĻ¨? -
Y
-
āĻĻā§āĻ° āĻĨā§āĻā§ āĻ°ā§āĻ āĻ˛āĻāĻāĻ¨ āĻ āĻ¨āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻāĻ°āĻŦā§āĻ¨? -
N
-
āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸āĻ°āĻžāĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸? -
N
-
āĻāĻāĻ¨ āĻŦāĻŋāĻļā§āĻˇāĻžāĻ§āĻŋāĻāĻžāĻ° āĻā§āĻŦāĻŋāĻ˛ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§āĻĄ āĻāĻ°āĻŦā§āĻ¨? -
Y
-
āĻāĻ˛ā§āĻ¨ MySQL-āĻ āĻ¯āĻžāĻ:
sudo mysql
-
āĻāĻ¸ā§āĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻŋ:
SELECT user,authentication_string,plugin,host FROM mysql.user;
-
āĻ°ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<ĐĐ°Ņ ĐŋĐ°ŅĐžĐģŅ Đ´ĐģŅ MySQL>';
-
āĻāĻ¸ā§āĻ¨ āĻāĻŦāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻŋ:
SELECT user,authentication_string,plugin,host FROM mysql.user;
-
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ MySQL āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĻ¨:
FLUSH PRIVILEGES;
иexit
-
āĻāĻāĻ¨, āĻŽāĻžāĻāĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
mysql -u root -p
āĻāĻŦāĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ˛āĻŋāĻā§āĻ¨
āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻ° āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻ
sudo apt update
sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
sudo apt-add-repository ppa:ondrej/php
sudo apt update
āĻāĻāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ. Laravel 7 āĻāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ PHP 7.3 āĻŦāĻž 7.4 āĻŦā§āĻā§ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 3 āĻāĻŦāĻ 4 āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻšāĻŦā§āĨ¤
- 7.3:
sudo apt install -y php7.3-fpm php7.3-mysql
- 7.4:
sudo apt install -y php7.4-fpm php7.4-mysql
āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ āĻĢāĻžāĻ¸ā§āĻāĻ¸āĻŋāĻāĻŋāĻāĻ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° (āĻāĻĢāĻĒāĻŋāĻāĻŽ) āĻĒāĻŋāĻāĻāĻāĻĒāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ mysql, āĻ āĻŦāĻļā§āĻ¯āĻ, MySQL āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻāĻāĻ¨ āĻĨā§āĻā§ āĻāĻŽāĻŋ 7.4-āĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ°āĻŦāĨ¤
Nginx āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§
sudo vim /etc/nginx/sites-available/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>
"<Your domain>" āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻĄā§āĻŽā§āĻ¨āĻāĻŋ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻžāĻ¨ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, mysite.ru
) āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻāĻāĻŋ āĻ˛āĻŋāĻā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĄā§āĻŽā§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ
āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§āĻ° āĻ§āĻžāĻĒāĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĻ¨ā§ˇ
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻŦā§āĻļ:
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ иĐģи IP>;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ 7.3 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻŦā§āĻā§ āĻ¨ā§āĻ¨ php7.4-fpm.sock
āĻ˛ā§āĻ php7.4-fpm.sock
.
āĻĒā§āĻ°ā§āĻ 80 āĻļā§āĻ¨ā§āĻ¨ server_name
āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ°ā§āĻ āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§ āĻĒā§āĻāĻāĻžāĻ /var/www/html
index āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¨āĻŋāĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§ server_name
āĻāĻŋāĻā§ āĻāĻā§, āĻāĻŽāĻ°āĻž āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻā§āĻāĻāĻāĻŋ. āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻā§āĻāĻā§ āĻ¨āĻž āĻĒāĻžāĻ, āĻāĻŽāĻ°āĻž 404 āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°āĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧ .php
, āĻŦāĻŋāĻĻā§āĻ§ āĻāĻ°āĻž fpm
... āĻāĻā§ āĻ¯āĻĻāĻŋ .ht
, āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§ (403)āĨ¤
- āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ˛āĻŋāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§
sites-available
вsites-enabled
:sudo ln -s /etc/nginx/sites-available/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ> /etc/nginx/sites-enabled/
- āĻ˛āĻŋāĻā§āĻ āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻā§āĻā§
default
:sudo unlink /etc/nginx/sites-enabled/default
- āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§:
sudo nginx -t
- āĻ°āĻŋāĻŦā§āĻ:
sudo systemctl reload nginx
āĻāĻžāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§:
sudo vim /var/www/html/info.php
- āĻāĻŽāĻ°āĻž āĻ˛āĻŋāĻāĻŋ:
<?php phpinfo();
- āĻ¯āĻžāĻ
<ĐĐ°Ņ IP>/info.php
āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:
āĻāĻāĻ¨ āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: sudo rm /var/www/html/info.php
āĻ˛āĻžāĻ°āĻžāĻā§āĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
-
7.3:
sudo apt install php7.3-mbstring php7.3-xml composer unzip
-
7.4:
sudo apt install php7.4-mbstring php7.4-xml composer unzip
-
āĻāĻ˛ā§āĻ¨ MySQL-āĻ āĻ¯āĻžāĻ:
mysql -u root -p
-
āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ Laravel:
CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-
āĻāĻŽāĻ°āĻž āĻ°ā§āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ Laravel:
GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<ĐĐ°Ņ ĐŋĐ°ŅĐžĐģŅ ĐžŅ MySQL>';
-
FLUSH PRIVILEGES;
-
exit
-
cd /var/www/html
-
āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨:
sudo mkdir -p <ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>
-
āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ Laravel āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻ āĻ§āĻŋāĻāĻžāĻ°:
sudo chown laravel:laravel <ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§. āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, Github āĻĨā§āĻā§ āĻā§āĻ˛ā§āĻ¨āĻŋāĻāĨ¤
cd ./<ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>
git clone <ŅŅŅĐģĐēĐ° ĐŊĐ° ĐŋŅĐžĐĩĐēŅ> .
āĻāĻāĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻ¨āĻž āĻāĻ°ā§āĻ¨ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĨā§āĻā§ /public
) āĻāĻŋāĻĨā§āĻŦā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĨāĻžāĻāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻŋ āĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĨā§āĻ°ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋ deploy
, āĻ¯āĻž āĻĨā§āĻā§ āĻāĻŽāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ˛ā§āĻ¨ āĻāĻ°ā§āĻāĻŋ: git clone -b <иĐŧŅ вĐĩŅĐēи> --single-branch <ŅŅŅĐģĐēĐ° ĐŊĐ° ĐŋŅĐžĐĩĐēŅ> .
.
- āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž:
composer install
- .env āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨:
vim .env
āĻāĻ° āĻŽā§āĻ˛āĻŋāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻā§āĻā§:
APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<ĐĐ°Ņ ĐŋĐ°ŅĐžĐģŅ ĐžŅ MySQL>
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° .env āĻāĻĒāĻŋ āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ APP_ENV āĻā§ āĻĒā§āĻ°ā§āĻĄāĻžāĻāĻļāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§, APP_DEBUG āĻā§ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ MySQL āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ āĻŋāĻ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻ˛āĻŋāĻā§āĻ¨āĨ¤
- āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°:
php artisan migrate
- āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§:
php artisan key:generate
āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨:
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
chmod -R 775 storage
chmod -R 775 bootstrap/cache
āĻļā§āĻˇ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻ˛āĻžāĻ°āĻžāĻā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ Nginx āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž:
sudo vim /etc/nginx/sites-available/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>
server {
listen 80;
listen [::]:80;
root /var/www/html/<ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ иĐģи IP>;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
āĻāĻ¤āĻŦāĻžāĻ°ā§āĻ° āĻŽāĻ¤, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 7.3 āĻŦā§āĻā§ āĻ¨ā§āĻ¨ php7.4-fpm.sock
āĻ˛ā§āĻ php7.4-fpm.sock
.
DigitalOcean āĻ āĻāĻāĻāĻŋ āĻĄā§āĻŽā§āĻ¨ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ¸āĻ˛ā§ āĻā§āĻŦ āĻ¸āĻšāĻ. āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĄā§āĻŽā§āĻ¨ āĻāĻŋāĻ¨ā§āĻ¨ (āĻ¯ā§āĻā§āĻ¨ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ), āĻĄāĻŋāĻāĻŋāĻāĻžāĻ˛ āĻāĻļā§āĻ¨ā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨ āĻ¸ā§āĻˇā§āĻāĻŋ->āĻĄā§āĻŽā§āĻ¨/DNSāĨ¤ Đ ĐŋĐžĐģĐĩ āĻāĻāĻāĻŋ āĻĄā§āĻŽā§āĻāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻĄā§āĻŽā§āĻ¨ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨. āĻ¤āĻžāĻ°āĻĒāĻ° āĻĄā§āĻŽā§āĻāĻ¨ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ āĻāĻŦāĻ āĻĢāĻŋāĻ˛ā§āĻĄā§ āĻ¯āĻžāĻ¨ āĻšā§āĻ¸ā§āĻāĻ¨ā§āĻŽ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻž @. āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨.
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¸āĻžāĻāĻā§ āĻĄā§āĻŽā§āĻāĻ¨ āĻāĻŋāĻ¨ā§āĻā§āĻ¨ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¯āĻžāĻ¨, āĻ¸ā§āĻāĻžāĻ¨ā§ "DNS āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°" āĻā§āĻāĻā§āĻ¨ (āĻŦāĻž āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻŋāĻā§) āĻāĻŦāĻ DigitalOcean āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻ¨ (āĻ¯ā§āĻŽāĻ¨ns1.digitalocean.com
,ns2.digitalocean.com
,ns3.digitalocean.com
) āĻāĻāĻ¨ āĻāĻ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻā§āĻšā§āĻ¤ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻā§ (āĻŦāĻž āĻ āĻ¨ā§āĻ) āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤!
āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻāĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° HTTP āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻ˛āĻŦā§āĨ¤ HTTPS āĻĨāĻžāĻāĻ¤ā§, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ āĻāĻļā§ āĻ¯āĻžāĻ¨āĨ¤
HTTPS āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¸āĻžāĻ°ā§āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻĄā§āĻŽā§āĻ¨ āĻ¨āĻžāĻŽ āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨ (āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ mysite.ru
) āĻāĻŦāĻ āĻĄā§āĻŽā§āĻāĻ¨ āĻ¨āĻžāĻŽ www (www.mysite.ru
).
sudo add-apt-repository ppa:certbot/certbot
sudo apt install python-certbot-nginx
sudo certbot certonly --webroot --webroot-path=/var/www/html/<ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>/public -d <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ> -d www.<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ Nginx āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻā§āĻ˛āĻŦā§āĻ¨ āĻ¨āĻž):
server {
listen 80;
listen [::]:80;
server_name <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ> www.<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name <ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ> www.<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>;
root /var/www/html/<ĐĐŧŅ ĐŋŅĐžĐĩĐēŅĐ°>/public;
ssl_certificate /etc/letsencrypt/live/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<ĐĐ°Ņ Đ´ĐžĐŧĐĩĐŊ>/privkey.pem;
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers on;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php index.html index.htm index.nginx-debian.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
location ~ /.well-known {
allow all;
}
}
āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻā§āĻ¨ āĻ¯ā§ PHP 7.3 āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻāĻžāĻ¨ā§, āĻāĻ¸āĻ˛ā§, āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻšāĻāĨ¤ āĻāĻŽāĻ°āĻž āĻā§āĻŦāĻ˛ HTTP (āĻĒā§āĻ°ā§āĻ 80) āĻĨā§āĻā§ HTTPS (āĻĒā§āĻ°ā§āĻ 443) āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻŋā§ˇ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻāĻā§āĻ° āĻŽāĻ¤ā§āĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ°āĻŋ, āĻ¤āĻŦā§ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ¸āĻšāĨ¤
āĻ¯āĻž āĻ āĻŦāĻļāĻŋāĻˇā§āĻ āĻĨāĻžāĻā§ āĻ¤āĻž āĻšāĻ˛ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¸ā§āĻ āĻāĻ°āĻž:
sudo nginx -t
sudo ufw app list
sudo ufw allow 'Nginx HTTPS'
sudo ufw status
sudo systemctl reload nginx
āĻāĻāĻ¨ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻŋāĻ¤ āĻāĻžāĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
[āĻāĻ¨ā§āĻ¨āĻ¤] Node.js āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻšāĻ āĻžā§ āĻāĻ°ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ npm āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻā§ Node.js āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
sudo apt update
sudo apt install -y nodejs npm
nodejs -v
āĻāĻāĻžāĻ, āĻāĻŽāĻŋ āĻāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻĨāĻžāĻŽāĻ˛āĻžāĻŽāĨ¤ āĻ¨ā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻŽāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻāĨ¤ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻŽāĻŋ DigitalOcean āĻĨā§āĻā§ āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻāĻŦāĻ āĻ¸āĻ¸ā§āĻ¤āĻž āĻā§āĻĨāĻžāĻ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°āĻŦāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻžāĻāĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¯āĻžāĻāĻžāĻāĻāĻ°āĻŖ āĻ°āĻžāĻāĻ¨ā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ°ā§āĻāĻŋ, āĻāĻŽāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§ āĻĻā§āĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ¤āĻžāĻĻā§āĻ° āĻļā§āĻ°ā§ $100 āĻĒā§āĻ°āĻļāĻŋāĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻŽā§āĻāĻžāĻ° āĻ¸ā§āĻĒā§āĻ°āĻŋāĻāĻŦā§āĻ°ā§āĻĄāĨ¤
āĻ˛ā§āĻāĻāĻā§ āĻĒāĻŋāĻāĻ¸ āĻŦāĻŋāĻļā§āĻˇ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ
PPS āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻ¨ āĻļā§āĻ°ā§āĻˇ āĻĒā§āĻ°āĻā§āĻļāĻ˛ā§ āĻšāĻ¨ āĻ¯āĻŋāĻ¨āĻŋ āĻŦā§āĻ¯āĻžāĻļ āĻāĻŽāĻžāĻ¨ā§āĻĄā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°ā§āĻ¨, āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻŦāĻŋāĻāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻ¯āĻāĻ¨ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§ āĻā§āĻļāĻŋ āĻšāĻ¤āĻžāĻŽāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻŽāĻŋ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻ āĻāĻāĻŋāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com