Libellum meum facere decrevi utens Laravel 7. Ut pagina principalis pagina descensionis esset, omnesque informationes in eo utentes tabula admin mutari possent. Non punctum. Res ad instruere. Duos bonorum tutorium inveni in quo hoc facerem in plena servo-procurvato cum omnibus molestiis. Instruere non multum valeo, plerumque plus fronte quam plenus acervus sum. Et, si adhuc scribere possum et probare in PHP, tunc ante dispono servo, etc. Non creverunt adhuc. Sed mihi videris.
Nunc per omnes gradus ibimus, incipientes cum via SSH deducunt et cum loco operantes finiendo. Omnes casus vitare conabimur.
Similes instructiones in online invenire poteris. Tandem inveni. Verum, non uno loco, non sine ope StackOverflow, et vix in Russian. passus sum. Quam ob rem statui vitam tuam simpliciorem reddere.
Omnia cum gutta in DigitalOcean faciemus. Quod quidem non est necessarium, elige aliquem obnoxium. Cum operarium in Ubuntu perveneris, redi. Nam qui adhuc in DigitalOcean id facere constituunt, plures apicibus in ditione constituenda erunt. Et
Omnes gradus DigitalOceani speciales in notis hisce tradentur.
Sit scriptor committitur.
TL, DR (praecepta tantum)
Creare a user
ssh root@[IP-Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΡΠΎΠΏΠ»Π΅ΡΠ°]
adduser laravel
usermod -aG sudo laravel
su laravel
Adde SSH ad eam
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
- Clavis publica inserta
chmod 600 ~/.ssh/authorized_keys
Firewall
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
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/<ΠΠ°Ρ Π΄ΠΎΠΌΠ΅Π½>
Basic setup:
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;
}
}
Tantum HTTP setup pro Laravel:
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 ambitus Laravel:
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
Guttam crea in DigitalOcean et subcriptio novam SSH key
Vere credo te instare quomodo cum DigitalOcean te subcriptio. Non facile, cum multae confirmationes et alia. Si constanter errorem retis cum documentis comprobans utens, omnia facere conare per VPN, debet adiuvare.
In tabula in summo, deprime Create->droplets. Elige Ubuntu.
Cum primum mandaveris, $100 in ratione vestra recipies. Sed ne seducamini. Tantummodo 60 dies habe. Et hoc parum. Potes, ut me, cariore consilio uti velis, ut postea, cum vera pecunia fluit, ad viliorem transire possis. Dicam tibi statim quod non laborabit. Augere potes, sed minuere non potes. Ita abscedit. Libet Latin->$5.
Eligo regionem nobis proximam Frankfurt. VPC Network->default-fra1
Nos statim authenticas faciendas per SSH. Click Nova SSH Key. Si SSH non habes, simplicissima sunt instructiones de iure. Aperi vercundus terminatio et crustulum
ssh-keygen
. Inde itur ad tabellam cum clavis publicis/Users/<ΠΠ°ΡΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ>/.ssh/id_rsa.pub
(Or simplycat ~/.ssh/id_rsa.pub
) effingo contenta et crustulum in fenestra ad sinistram. Quodvis nomen.Nos cum hostname ad guttam ascendimus.
torcular Create Droplet
Novam usor
ssh root@[IP-Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΡΠΎΠΏΠ»Π΅ΡΠ°]
- Certusne esne connectens continuare (ne/no/[fingerprint])?
yes
- Nulla SSH password
- Creare a user laravel:
adduser laravel
- Intrant es tesserae et aliae informationes (modo plena nomen intrant)
- Addere user coetus ad sudo:
usermod -aG sudo laravel
SSH ad novum user
- Transibit ad novum user:
su laravel
Omnes actiones ulterius exequimur, usque ad finem articuli, pro usuario laravel. Ergo, si subito intermittitur, re-incipe et intra su laravel
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
ΠΡ ΠΎΡΠΊΡΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π² Vim. ΠΡΠ»ΠΈ Π²Ρ Ρ Π½ΠΈΠΌ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Π²ΠΎΠΎΠ±ΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Nano, Π²Π°ΡΠ΅ ΠΏΡΠ°Π²ΠΎ.
Praecipua Vim imperat
Ut Vim editor per totum articulum utatur, solum sequentia scire debes.
- Vim habet diversos modos: Normalis modus, quo intres mandata, et modos selectos et alios.
- Exire aliquem modum et redire ad modum communem, sicut torcular
Esc
- Movere circa: sagittis uti potes
- Exit sine salute
<Normal mode>
::q!
- Exitus et salvare
<Normal mode>
::wq
- Vertas text initus modus
<Normal mode>
:i
(De Anglis. inserere)
- Clavem publicam nostram (quam supra fecimus) inserimus.
- Contra vices munimus:
chmod 600 ~/.ssh/authorized_keys
Installing firewall
- Intueamur omnes praesto occasus:
sudo ufw app list
- Patitur OpenSSH (alioquin nos claudat);
sudo ufw allow OpenSSH
- Demus firewall:
sudo ufw enable
,y
- reprehendo:
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Omnia est bonum.
installing Nginx
Per institutionem interdum rogaberis "Certus es?" Answer y
(Bene, si certus es).
sudo apt update
sudo apt install nginx
Addit Nginx ad firewall occasus
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)
Vade ad IP tuum. Si omnia bene sunt, sequentia videre debes.
installing MySQL
sudo apt install mysql-server
- Lorem scriptor praesidio launching
sudo mysql_secure_installation
Responde interrogationes. Si nescis quid respondeas, hic quaedam optiones suggesserunt;
-
Validate password plugin -
N
-
Anonymi users removere? -
Y
-
Disallow radix login remotius? -
N
-
Remove test database and access to it? β
N
-
Reload nunc privilegiorum tabularum? -
Y
-
Eamus ad MySQL;
sudo mysql
-
Intueamur accessum modi:
SELECT user,authentication_string,plugin,host FROM mysql.user;
-
Radix in password pro pone:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<ΠΠ°Ρ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ MySQL>';
-
Intueamur accessum modos iterum:
SELECT user,authentication_string,plugin,host FROM mysql.user;
-
Applicare mutationes et exitus MySQL;
FLUSH PRIVILEGES;
ΠΈexit
-
Nunc, in MySQL log uti debes
mysql -u root -p
et intrant tesseram
Installing PHP
Utamur tertia-pars repositio from
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
Nunc agamus. Pro Laravel 7, potes eligere PHP 7.3 vel 7.4. Sola differentia erit in numeris III et IV.
- 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 Processus Procurator (fpm) operatur cum petitionibus PHP. mysql, scilicet, ad operandum cum MySQL.
Posthac omnia faciam 7.4.
Occasus sursum Nginx
sudo vim /etc/nginx/sites-available/<ΠΠ°Ρ Π΄ΠΎΠΌΠ΅Π½>
Pro "dominium tuum>" intrant dominium (exempli gratia: mysite.ru
) ut in posterum uti velis. Si non habes adhuc, scribe aliquid, tunc repete gradus in hoc capite pro dominio tuo cum illud eligis.
Haec intrant:
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;
}
}
Si vis versionem 7.3 loco php7.4-fpm.sock
scribe in * php7.4-fpm.sock
.
Audi portum LXXX on server_name
quando pervenimus ad radicem petitionem /var/www/html
index lima accipe. si post server_name
Aliquid est, talem fasciculum quaerimus. Si non invenimus, eicimus 404. Si desinit .php
, transfixi fpm
... Si est .ht
, Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΠΌ (403).
- Faciens nexum e
sites-available
Π²sites-enabled
:sudo ln -s /etc/nginx/sites-available/<ΠΠ°Ρ Π΄ΠΎΠΌΠ΅Π½> /etc/nginx/sites-enabled/
- Vinculum removere ad
default
:sudo unlink /etc/nginx/sites-enabled/default
- Reprehendo pro erroribus:
sudo nginx -t
- Reboot:
sudo systemctl reload nginx
Reperiens opus:
sudo vim /var/www/html/info.php
- scribimus:
<?php phpinfo();
- Eamus in
<ΠΠ°Ρ IP>/info.php
Videas aliquid simile hoc;
Iam hic fasciculus deleri potest: sudo rm /var/www/html/info.php
Install 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
-
Eamus ad MySQL;
mysql -u root -p
-
Creare database nomine laravel:
CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-
Nos radix aditum praebere laravel:
GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<ΠΠ°Ρ ΠΏΠ°ΡΠΎΠ»Ρ ΠΎΡ MySQL>';
-
FLUSH PRIVILEGES;
-
exit
-
cd /var/www/html
-
Creare folder pro project:
sudo mkdir -p <ΠΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°>
-
Nos user providere laravel iura ad propositum;
sudo chown laravel:laravel <ΠΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°>
Deinde opus est consilium transferre. Exempli gratia exquisitis a Github.
cd ./<ΠΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°>
git clone <ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ> .
Operae pretium est considerare quod si tabulas statas non servasti (exempli gratia, ex /public
) in Github, tunc naturaliter non habebis eas. Exempli gratia, filum separatum ad hoc solvendum creavi deploy
a quo iam cloned; git clone -b <ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ> --single-branch <ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ> .
.
- clientelas installare:
composer install
- Crea .env:
vim .env
Versio fundamentalis eius sic spectat:
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 Π½Π° production, APP_DEBUG Π½Π° false ΠΈ Π²ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ MySQL.
- Migrans database:
php artisan migrate
- Codicem generans:
php artisan key:generate
Mutantur permissiones:
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
chmod -R 775 storage
chmod -R 775 bootstrap/cache
Ultimum reliquum est Nginx reconfigure pro Laravel:
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;
}
}
Velut ultimo tempore, si versionem 7.3 loco legeres php7.4-fpm.sock
scribe in * php7.4-fpm.sock
.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π΄ΠΎΠΌΠ΅Π½Π° Π½Π° DigitalOcean
Omne quod actu est valde simplex. Emisti domain (usquam), switch ad DigitalOcean at Create->Dominia/DNS. ΠΏΠΎΠ»Π΅ Addere domain hanc aream intras et click addendi. Deinde ad occasus dominicum et in campum hostname intrare @. Eligere consilium quod click " Create record.
Nunc ite ad locum ubi dominium emisti, "DNS Server" ibi (vel quid simile) invenies et intres ministratores DigitalOceani (nempens1.digitalocean.com
,ns2.digitalocean.com
,ns3.digitalocean.com
). Nunc opus est exspectare paululum (vel multum) donec haec loca recipiantur. Paratus!
Sola problema est ut situs tuus solum ut HTTP aperiet. Habendum HTTPS, transigendum ad alteram partem.
Occasus sursum HTTPS
Install certbot et consequentes domain nomen (format mysite.ru
) et domain nomen cum 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.<ΠΠ°Ρ Π΄ΠΎΠΌΠ΅Π½>
Nunc opus est Nginx reconfigure (noli oblivisci bona tua substituere);
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;
}
}
Puto te iam intelligere quid mutandum sit pro PHP 7.3.
Hic enim omnia simplicia sunt. Simpliciter nos omnes petitiones ab HTTP (port 80) ad HTTPS (portum 443) redigere. Et ibi omnia facimus sicut prius, sed encryption.
Reliquum est ut licentias in firewall statuas;
sudo nginx -t
sudo ufw app list
sudo ufw allow 'Nginx HTTPS'
sudo ufw status
sudo systemctl reload nginx
Omnia autem ut oportet operari.
[Advanced] Installing Node.js
Si subito debes currere npm directe in servo, debes Node.js instituere.
sudo apt update
sudo apt install -y nodejs npm
nodejs -v
Hoc est, substiti in hac scena. Principio contentus sum effectu. Fortasse a DigitalOceano transibo alicubi propius ad Russiam et vilius. Sed quia iam peragravi omnes probationes circa locum et omnia ibi feci, exemplo monstravi. Praeterea initium eorum $100 optimum PETAURUM est ad erudiendum.
PS Special gratias auctoris
PPS Si forte fabrum summum esse qui in imperiosa cogitat, noli acriter iudicare. Articulum hunc in re minore licet invenire, sed unum cum opus fuerit invenire gavisus sum. Si suggestiones sunt ad emendationem, ego totus est.
Source: www.habr.com