sudo apt update
sudo apt install nginx
sudo ufw app list
sudo ufw allow 'Nginx HTTP'
sudo ufw status
curl -4 icanhazip.com
sudo apt install mysql-server
sudo mysql_secure_installation
sudo mysql
exit
sudo apt install php-fpm php-mysql
sudo mkdir /var/www/your_domain
sudo chown -R $USER:$USER /var/www/your_domain
sudo nano /etc/nginx/sites-available/your_domain
server {
listen 80;
server_name your_domain www.your_domain;
root /var/www/your_domain/web;
index index.html index.htm index.php;
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;
}
}
- Вместо "your_domain" указываем название нашего домена (например - example.com, без "https://" или "http://") или IP адрес нашего сервера (например - 45.61.48.152)
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
nano /var/www/your_domain/index.php
<?php
phpinfo();
sudo mysql
CREATE DATABASE example_database;
CREATE USER 'example_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT ALL ON example_database.* TO 'example_user'@'%';
exit
SHOW DATABASES;
cat ~/.ssh/id_rsa.pub | ssh user@123.45.67.89 "cat >> ~/.ssh/authorized_keys"
sudo apt install certbot python3-certbot-nginx
sudo ufw status
sudo ufw allow 'Nginx Full'
При назначении "Nginx Full" так же добавится доступ по SSH, так что следующей командой при включении ufw мы не ограничим доступ по SSH
sudo ufw enable
sudo certbot --nginx -d example.com -d www.example.com