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
-
เดเตเดธเดจเตเดฎเตเดเตเดธ:
sudo apt install -y php7.3-fpm php7.3-mysql
-
เดเตเดธเดจเตเดฎเตเดเตเดธ:
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
-
เดเตเดธเดจเตเดฎเตเดเตเดธ:
sudo apt install -y php7.3-mbstring php7.3-xml composer unzip
-
เดเตเดธเดจเตเดฎเตเดเตเดธ:
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
เดเดเตเดเตเดเดฟเดเดฟเดชเดฟเดเดธเต
-
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.
เดเดเตเดเตพเดเตเดเต เดเดฑเตเดฑเดตเตเด เด เดเตเดคเตเดคเตเดณเตเดณ เดชเตเดฐเดฆเตเดถเด เดเดพเตป เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดจเตเดจเต เดซเตเดฐเดพเดเตเดเตเดซเตผเดเตเดเต. VPC เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเต->default-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-เตฝ เดซเดฏเตฝ เดคเตเดฑเดจเตเดจเต. เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเต เดเดเตเดเตเด เดชเดฐเดฟเดเดฟเดคเดฎเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเดณเตเดเต เด เดตเดเดพเดถเดฎเดพเดฏ เดจเดพเดจเตเดฏเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดเตเดฒเดฟ เดเตเดฏเตเดฏเดพเด.
เดเดฑเตเดฑเดตเตเด เด เดเดฟเดธเตเดฅเดพเดจ Vim เดเดฎเดพเตปเดกเตเดเตพ
เดฒเตเดเดจเดคเตเดคเดฟเดฒเตเดเดจเตเดณเด Vim เดเดกเดฟเดฑเตเดฑเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เด เดฑเดฟเดเตเดเดฟเดฐเดฟเดเตเดเดฃเด.
- 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)
เดจเดฟเดเตเดเดณเตเดเต เดเดชเดฟเดฏเดฟเดฒเตเดเตเดเต เดชเตเดเตเด. เดเดฒเตเดฒเดพเด เดถเดฐเดฟเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดเดพเดฃเดฃเด.
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 เดเดจเตเดจเต เดธเดเดเตเดฏเดเดณเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด.
- เดเตเดธเดจเตเดฎเตเดเตเดธ:
sudo apt install -y php7.3-fpm php7.3-mysql
- เดเตเดธเดจเตเดฎเตเดเตเดธ:
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 เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเด
-
เดเตเดธเดจเตเดฎเตเดเตเดธ:
sudo apt install php7.3-mbstring php7.3-xml composer unzip
-
เดเตเดธเดจเตเดฎเตเดเตเดธ:
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
เดฒเดพเดฑเดตเดฒเดฟเดจเดพเดฏเดฟ 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 เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต
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