เจฎเฉเจ Laravel 7 เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจชเจฃเจพ เจชเฉเจฐเจเจซเฉเจฒเฉเจ เจฌเจฃเจพเจเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจนเฉ เจคเจพเจ เจเจฟ เจฎเฉเฉฑเจ เจชเฉฐเจจเจพ เจเฉฑเจ เจฒเฉเจเจกเจฟเฉฐเจ เจชเฉฐเจจเจพ เจนเฉเจตเฉเจเจพ, เจ เจคเฉ เจเจธ 'เจคเฉ เจธเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจจเฉเฉฐ เจเจกเจฎเจฟเจจ เจชเฉเจจเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฌเจฆเจฒเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ. เจฌเจฟเฉฐเจฆเฉ เจจเจนเฉเจ. เจเจน เจคเจพเจเจจเจพเจคเฉ เจฒเจ เจเจ. เจฎเฉเจจเฉเฉฐ เจธเจพเจฐเฉเจเจ เจฎเฉเจธเจผเจเจฒเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจชเฉเจฐเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจเจน เจเจฟเจตเฉเจ เจเจฐเจจเจพ เจนเฉ เจเจธ เจฌเจพเจฐเฉ เจเฉเจ เจตเจงเฉเจ เจเจฟเจเจเฉเจฐเจฟเจ เจฒ เจฎเจฟเจฒเฉ เจนเจจเฅค เจฎเฉเจ เจคเฉเจจเจพเจคเฉ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจฎเจเจผเจฌเฉเจค โโโโเจจเจนเฉเจ เจนเจพเจ; เจฎเฉเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจชเฉเจฐเฉ เจธเจเฉเจ เจจเจพเจฒเฉเจ เจตเจงเฉเจฐเฉ เจธเจพเจนเจฎเจฃเฉ เจนเจพเจ. เจ เจคเฉ, เจเฉ เจฎเฉเจ เจ เจเฉ เจตเฉ PHP เจตเจฟเฉฑเจ เจฒเจฟเจ เจธเจเจฆเจพ เจนเจพเจ เจ เจคเฉ เจเฉเจธเจ เจเจฐ เจธเจเจฆเจพ เจนเจพเจ, เจคเจพเจ เจธเจฐเจตเจฐ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจเจฆเจฟ. เจฎเฉเจ เจ เจเฉ เจตเฉฑเจกเจพ เจจเจนเฉเจ เจนเฉเจเจ เจนเจพเจเฅค เจชเจฐ เจฎเฉเจจเฉเฉฐ เจเจธเจฆเจพ เจชเจคเจพ เจฒเจเจพเจเจฃเจพ เจชเจฟเจ.
เจนเฉเจฃ เจ เจธเฉเจ SSH เจฆเฉเจเจฐเจพ เจฒเจพเจเจ เจคเฉเจ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเฉเจ เจ เจคเฉ เจเฉฐเจฎ เจเจฐเจจ เจตเจพเจฒเฉ เจธเจพเจเจ เจฆเฉ เจจเจพเจฒ เจเจคเจฎ เจนเฉเจฃ เจตเจพเจฒเฉ เจธเจพเจฐเฉ เจชเฉเจพเจตเจพเจ เจตเจฟเฉฑเจเฉเจ เจฒเฉฐเจเจพเจเจเฉเฅค เจ เจธเฉเจ เจธเจพเจฐเฉเจเจ เจฎเฉเจธเจผเจเจฒเจพเจ เจคเฉเจ เจฌเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจพเจเจเฉเฅค
เจคเฉเจธเฉเจ เจเจจเจฒเจพเจเจจ เจธเจฎเจพเจจ เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ เจจเฉเฉฐ เจฒเฉฑเจญเจฃ เจฆเฉ เจฏเฉเจ เจนเฉ เจธเจเจฆเฉ เจนเฉเฅค เจเจเจฐเจเจพเจฐ, เจฎเฉเจจเฉเฉฐ เจ เฉฐเจค เจตเจฟเฉฑเจ เจเจน เจฎเจฟเจฒเจฟเจ. เจเจน เจธเฉฑเจ เจนเฉ, เจเฉฑเจ เจฅเจพเจ 'เจคเฉ เจจเจนเฉเจ, เจธเจเฉเจเจเจตเจฐเจซเจฒเฉ เจฆเฉ เจฎเจฆเจฆ เจคเฉเจ เจฌเจฟเจจเจพเจ เจจเจนเฉเจ, เจ เจคเฉ เจธเจผเจพเจเจฆ เจนเฉ เจฐเฉเจธเฉ เจตเจฟเฉฑเจ. เจฎเฉเจ เจฆเฉเฉฑเจ เจเฉฑเจฒเจฟเจเฅค เจเจธ เจฒเจ เจฎเฉเจ เจคเฉเจนเจพเจกเฉ เจเจผเจฟเฉฐเจฆเจเฉ เจจเฉเฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจนเฉเฅค
เจ
เจธเฉเจ 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
เจเจจเจเฉเจเจธ
sudo apt update
sudo apt install -y nginx
sudo ufw allow 'Nginx HTTP'
sudo ufw status
MySQL
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
PHP
-
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;
}
}
Laravel เจฒเจ เจธเจฟเจฐเจซเจผ 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;
}
}
Laravel เจฒเจ 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 เจเฉเฉฐเจเฉ เจฐเจเจฟเจธเจเจฐ เจเจฐเฉ
เจฎเฉเจ เจธเฉฑเจเจฎเฉเฉฑเจ เจตเจฟเจธเจผเจตเจพเจธ เจเจฐเจฆเจพ เจนเจพเจ เจเจฟ เจคเฉเจธเฉเจ เจเจน เจชเจคเจพ เจฒเจเจพเจเจเฉ เจเจฟ เจกเจฟเจเฉเจเจฒ เจเจธเจผเจจ เจจเจพเจฒ เจเจชเจฃเฉ เจเจช เจจเฉเฉฐ เจเจฟเจตเฉเจ เจฐเจเจฟเจธเจเจฐ เจเจฐเจจเจพ เจนเฉ. เจเจน เจเจธเจพเจจ เจจเจนเฉเจ เจนเฉ, เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจคเจธเจฆเฉเจ เจ เจคเฉ เจนเฉเจฐ เจเฉเจเจผเจพเจ เจฆเฉ เจจเจพเจฒ. เจเฉเจเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจชเฉเจธเจผเจเฉ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจฒเจเจพเจคเจพเจฐ เจจเฉเฉฑเจเจตเจฐเจ เจเจฒเจคเฉ เจฎเจฟเจฒเจฆเฉ เจนเฉ, เจคเจพเจ VPN เจฐเจพเจนเฉเจ เจธเจญ เจเฉเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉ, เจเจธ เจจเฉเฉฐ เจฎเจฆเจฆ เจเจฐเจจเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค
เจธเจฟเจเจฐ 'เจคเฉ เจฎเฉเจจเฉ เจตเจฟเฉฑเจ, เจเจฒเจฟเฉฑเจ เจเจฐเฉ เจฌเจฃเจพเจ->เจเจฟเฉฑเจเฉ. เจเฉเจฃเฉ เจเจฌเจคเฉเฉฐ.
เจเจฟเจตเฉเจ เจนเฉ เจคเฉเจธเฉเจ เจฐเจเจฟเจธเจเจฐ เจเจฐเจฆเฉ เจนเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจชเจฃเฉ เจเจพเจคเฉ เจตเจฟเฉฑเจ $100 เจชเฉเจฐเจพเจชเจค เจนเฉเจฃเจเฉเฅค เจชเจฐ เจฎเฉเจฐเจ เจจเจพ เจฌเจฃเฉ. เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเจธ เจจเฉเฉฐ เจเจฐเจเจฃ เจฒเจ เจธเจฟเจฐเจซเจผ 60 เจฆเจฟเจจ เจนเจจเฅค เจ เจคเฉ เจเจน เจฌเจนเฉเจค เจเฉฑเจ เจนเฉ. เจคเฉเจธเฉเจ, เจฎเฉเจฐเฉ เจตเจพเจเจ, เจเฉฑเจ เจนเฉเจฐ เจฎเจนเจฟเฉฐเจเฉ เจฏเฉเจเจจเจพ เจตเจฐเจคเจฃเจพ เจเจพเจน เจธเจเจฆเฉ เจนเฉ, เจคเจพเจ เจเฉ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ, เจเจฆเฉเจ เจ เจธเจฒ เจชเฉเจธเจพ เจเจเจฃเจพ เจธเจผเฉเจฐเฉ เจนเฉ เจเจพเจตเฉ, เจคเฉเจธเฉเจ เจเฉฑเจ เจธเจธเจคเฉ เจฏเฉเจเจจเจพ 'เจคเฉ เจธเจตเจฟเฉฑเจ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจคเฉเจฐเฉฐเจค เจฆเฉฑเจธเจพเจเจเจพ เจเจฟ เจเจน เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเฉเจเจพเฅค เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจตเจงเจพ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจเจธเจจเฉเฉฐ เจเจเจพ เจจเจนเฉเจ เจธเจเจฆเฉเฅค เจเจธ เจฒเจ เจเจธ เจจเฉเฉฐ เจเจฒเจพ. เจฎเฉเจ เจเฉเจฃเจฆเจพ เจนเจพเจ เจฎเจฟเจเจฐเฉ->$5.
เจฎเฉเจ เจธเจพเจกเฉ เจธเจญ เจคเฉเจ เจจเจเจผเจฆเฉเจเฉ เจเฉเจคเจฐ เจจเฉเฉฐ เจเฉเจฃเจฆเจพ เจนเจพเจ เจฎเฉเจฏเฉเจจเจฟเจ. VPC เจจเฉเฉฑเจเจตเจฐเจ->เจกเจฟเจซเจพเจฒเจ-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
เจ
เจธเฉเจ laravel เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจคเจฐเจซเฉเจ, เจฒเฉเจ เจฆเฉ เจ
เฉฐเจค เจคเฉฑเจ, เจ
เฉฑเจเฉ เจธเจพเจฐเฉเจเจ เจเจพเจฐเจตเจพเจเจเจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจเจธ เจฒเจ, เจเฉเจเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจ
เจเจพเจจเจ เจฐเฉเจเจพเจตเจ เจเจเจเจฆเฉ เจนเฉ, เจคเจพเจ เจฆเฉเจฌเจพเจฐเจพ เจฒเฉเจเจเจจ เจเจฐเฉ เจ
เจคเฉ เจฆเจพเจเจฒ เจนเฉเจตเฉ su laravel
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
เจ เจธเฉเจ เจตเจฟเจฎ เจตเจฟเฉฑเจ เจซเจพเจเจฒ เจเฉเจฒเฉเจนเฉ. เจเฉ เจคเฉเจธเฉเจ เจเจธ เจคเฉเจ เจฌเจฟเจฒเจเฉเจฒ เจตเฉ เจเจพเจฃเฉ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจจเฉเจจเฉ เจตเจฟเฉฑเจ เจเฉฐเจฎ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจคเฉเจนเจพเจกเจพ เจ เจงเจฟเจเจพเจฐ.
เจธเจญ เจคเฉเจ เจฌเฉเจจเจฟเจเจฆเฉ เจตเจฟเจฎ เจเจฎเจพเจเจกเจพเจ
เจชเฉเจฐเฉ เจฒเฉเจ เจตเจฟเจ เจตเจฟเจฎ เจธเฉฐเจชเจพเจฆเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฟเจฐเจซ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจพเจฃเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ.
- เจตเจฟเจฎ เจฆเฉ เจตเฉฑเจเฉ-เจตเฉฑเจเจฐเฉ เจฎเฉเจก เจนเจจ: เจธเจงเจพเจฐเจจ เจฎเฉเจก, เจเจฟเจธ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจเจฎเจพเจเจก เจฆเจพเจเจฒ เจเจฐเจฆเฉ เจนเฉ เจ เจคเฉ เจฎเฉเจก เจ เจคเฉ เจนเฉเจฐ เจเฉเจฃเจฆเฉ เจนเฉเฅค
- เจเจฟเจธเฉ เจตเฉ เจฎเฉเจก เจคเฉเจ เจฌเจพเจนเจฐ เจจเจฟเจเจฒเจฃ เจ
เจคเฉ เจเจฎ เจฎเฉเจก 'เจคเฉ เจตเจพเจชเจธ เจเจพเจฃ เจฒเจ, เจฌเฉฑเจธ เจฆเจฌเจพเจ
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)
เจเจชเจฃเฉ IP 'เจคเฉ เจเจพเจเฅค เจเฉ เจธเจญ เจเฉเจ เจ เฉเจ เจเฉฑเจฒเจฆเจพ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจนเฉเจ เจฒเจฟเจเจฟเจเจ เจจเฉเฉฐ เจฆเฉเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
MySQL เจเฉฐเจธเจเจพเจฒ เจเจฐเจจเจพ
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 เจตเจฟเฉฑเจ เจฒเฉเจเจเจจ เจเจฐเจจ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจตเจฐเจคเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ
mysql -u root -p
เจ เจคเฉ เจชเจพเจธเจตเจฐเจก เจฆเจฐเจ เจเจฐเฉ
PHP เจเฉฐเจธเจเจพเจฒ เจเจฐเจจเจพ
เจคเฉเจ เจเฉฑเจ เจคเฉเจเฉ-เจงเจฟเจฐ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉเจ
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
PHP FastCGI เจชเฉเจฐเฉเจธเฉเจธ เจฎเฉเจจเฉเจเจฐ (fpm) PHP เจฌเฉเจจเจคเฉเจเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค 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
เจเฉฐเจกเฉเจเจธ เจซเจพเจเจฒ เจฒเจ. เจเฉเจเจฐ เจฌเจพเจ
เจฆ เจตเจฟเฉฑเจ 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
Laravel เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ
-
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
Github 'เจคเฉ, เจซเจฟเจฐ เจเฉเจฆเจฐเจคเฉ เจคเฉเจฐ 'เจคเฉ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเจน เจจเจนเฉเจ เจนเฉเจฃเจเฉ. เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจฎเฉเจ เจเจธเจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจตเฉฑเจเจฐเจพ เจฅเฉเจฐเฉเจก เจฌเจฃเจพเจเจ เจนเฉ 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
เจเจเจฐเฉ เจเฉเจเจผ เจฌเจเฉ เจนเฉ Laravel เจฒเจ 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 'เจคเฉ เจเฉฑเจ เจกเฉเจฎเฉเจจ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ
เจนเจฐ เจเฉเจเจผ เจ เจธเจฒ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจงเจพเจฐเจจ เจนเฉ. เจคเฉเจธเฉเจ เจเฉฑเจ เจกเฉเจฎเฉเจจ (เจเจฟเจคเฉ เจตเฉ) เจเจฐเฉเจฆเจฆเฉ เจนเฉ, 'เจคเฉ DigitalOcean 'เจคเฉ เจธเจตเจฟเจ เจเจฐเฉ เจฌเจฃเจพเจ->เจกเฉเจฎเฉเจจ/DNS... เจเฉเจค เจตเจฟเฉฑเจ เจเฉฑเจ เจกเฉเจฎเฉเจจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ เจคเฉเจธเฉเจ เจเจธ เจกเฉเจฎเฉเจจ เจจเฉเฉฐ เจฆเจพเจเจฒ เจเจฐเฉ เจ เจคเฉ เจเจก 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉเฅค เจซเจฟเจฐ เจกเฉเจฎเฉเจจ เจธเฉเจเจฟเฉฐเจเจพเจ เจ เจคเฉ เจซเฉเจฒเจก 'เจคเฉ เจเจพเจ เจนเฉเจธเจเจจเจพเจฎ เจฆเจพเจเจฒ เจเจฐเฉ @. เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจเฉเจฃเฉ เจ เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ เจฐเจฟเจเจพเจฐเจก เจฌเจฃเจพเจ.
เจนเฉเจฃ เจเจธ เจธเจพเจเจ 'เจคเฉ เจเจพเจ เจเจฟเฉฑเจฅเฉ เจคเฉเจธเฉเจ เจกเฉเจฎเฉเจจ เจเจฐเฉเจฆเจฟเจ เจนเฉ, เจเฉฑเจฅเฉ "DNS เจธเจฐเจตเจฐ" เจฒเฉฑเจญเฉ (เจเจพเจ เจเฉเจ เจ เจเจฟเจนเจพ เจนเฉ) เจ เจคเฉ เจกเจฟเจเฉเจเจฒ เจเจธเจผเจจ เจธเจฐเจตเจฐ เจฆเจพเจเจฒ เจเจฐเฉ (เจ เจฐเจฅเจพเจคns1.digitalocean.com
,ns2.digitalocean.com
,ns3.digitalocean.com
). เจนเฉเจฃ เจคเฉเจนเจพเจจเฉเฉฐ เจเจนเจจเจพเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉเฉฐ เจธเจตเฉเจเจพเจฐ เจนเฉเจฃ เจคเฉฑเจ เจฅเฉเฉเจพ (เจเจพเจ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ) เจเจกเฉเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจคเจฟเจเจฐ!
เจธเจฟเจฐเจซ เจธเจฎเฉฑเจธเจฟเจ เจเจน เจนเฉ เจเจฟ เจคเฉเจนเจพเจกเฉ เจธเจพเจเจ เจธเจฟเจฐเจซ HTTP เจฆเฉ เจคเฉเจฐ เจคเฉ เจเฉเฉฑเจฒเฉเจเฉ. HTTPS เจนเฉเจฃ เจฒเจ, เจ เจเจฒเฉ เจญเจพเจ 'เจคเฉ เจเจพเจเฅค
HTTPS เจธเฉเฉฑเจเจ เฉฑเจช เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
certbot เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจกเฉเจฎเฉเจจ เจจเจพเจฎ (เจซเจพเจฐเจฎเฉเจ 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
เจเจน เจนเฉ, เจฎเฉเจ เจเจธ เจชเฉเจพเจ 'เจคเฉ เจฐเฉเจ เจเจฟเจ. เจธเจฟเจงเจพเจเจค เจตเจฟเฉฑเจ, เจฎเฉเจ เจจเจคเฉเจเฉ เจคเฉเจ เจธเฉฐเจคเฉเจธเจผเจ เจนเจพเจ. เจธเจผเจพเจเจฆ เจฎเฉเจ เจกเจฟเจเฉเจเจฒ เจเจธเจผเจจ เจคเฉเจ เจเจฟเจคเฉ เจฐเฉเจธ เจฆเฉ เจจเฉเฉเฉ เจ เจคเฉ เจธเจธเจคเจพ เจฌเจฆเจฒเจพเจเจเจพเฅค เจชเจฐ เจเจฟเจเจเจเจฟ เจฎเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจธเจพเจเจ 'เจคเฉ เจธเจพเจฐเฉ เจคเจธเจฆเฉเจ เจฆเฉเจฐ เจตเจฟเฉฑเจเฉเจ เจฒเฉฐเจ เจเฉเฉฑเจเจพ เจธเฉ เจ เจคเฉ เจเฉฑเจฅเฉ เจธเจญ เจเฉเจ เจเฉเจคเจพ เจธเฉ, เจฎเฉเจ เจเจจเฉเจนเจพเจ เจจเฉเฉฐ เจเจฆเจพเจนเจฐเจฃ เจฆเฉ เจเฉ เจฆเจฟเจเจพเจเจ. เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจนเจจเจพเจ เจฆเฉ เจธเจผเฉเจฐเฉเจเจคเฉ $100 เจธเจฟเจเจฒเจพเจ เจฒเจ เจเฉฑเจ เจธเจผเจพเจจเจฆเจพเจฐ เจธเจชเจฐเจฟเฉฐเจเจฌเฉเจฐเจก เจนเฉเฅค
PS เจฒเฉเจเจ เจฆเจพ เจตเจฟเจธเจผเฉเจธเจผ เจงเฉฐเจจเจตเจพเจฆ
PPS เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉฑเจ เจเฉเจเฉ เจฆเฉ เจเฉฐเจเฉเจจเฉเจ เจฐ เจฌเจฃเจฆเฉ เจนเฉ เจเฉ เจฌเฉเจธเจผ เจเจฎเจพเจเจกเจพเจ เจตเจฟเฉฑเจ เจธเฉเจเจฆเจพ เจนเฉ, เจคเจพเจ เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจเจ เฉเจฐเจคเจพ เจจเจพเจฒ เจจเจฟเจฐเจฃเจพ เจจเจพ เจเจฐเฉเฅค เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจฒเฉเจ เจจเฉเจตเฉเจ เจชเฉฑเจงเจฐ เจฆเจพ เจฒเฉฑเจ เจธเจเจฆเจพ เจนเฉ, เจชเจฐ เจเจฆเฉเจ เจฎเฉเจจเฉเฉฐ เจเจธเจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ เจคเจพเจ เจฎเฉเจจเฉเฉฐ เจเจน เจฒเฉฑเจญ เจเฉ เจเฉเจธเจผเฉ เจนเฉเจตเฉเจเฉเฅค เจเฉ เจธเฉเจงเจพเจฐ เจฒเจ เจธเฉเจเจพเจ เจนเจจ, เจคเจพเจ เจฎเฉเจ เจเจธเจฆเฉ เจฒเจ เจนเจพเจ.
เจธเจฐเฉเจค: www.habr.com