ααΎααααααααααΈαααΈααααΆαααααααΎαα ααααΈααααααΎαααΆαααααΆααα’αααααΈαααα
ααΎαααααΆααα’αααααΈααΌαα ααα»αααααΎαααααΎαααΎαααΆαα αα·ααααααααααΌαααΆαααααΌαααΆααααααΎαα‘αΎαα
Drupal - ααΆαααα·ααΆααααΆααααα½α αα·αααΆαα’αα»ααΆααααααΆαααααααΎαααα ααααααααααααααααα ααΈ microsites αα·αααααααα ααΆαααααααααααααααα ααααΎααΆααΌαααααΆααααααΆαααααααα·ααΈααα ααααα ααααααααα»α PHP αα·αααααΎααΌαααααΆααα·ααααααααααΆααααααααΆαααααααααα»ααα·ααααααα
Drupal 9 αα½ααααα
αΌααααααααα·αααααΆααα’αααααααΆαααααΆααα
αααα»ααααα 8.9 α ααΆααα»αααααΆααααΆαααααΆααααα 9 αα·ααααα 8 ααΊααΆαααα·ααΆαααααΉαααααααα½αααΆαααΆαα’αΆααααα αα·αααΆααα½ααα»ααα»ααααα·ααΆααααααΆααααΈαααα·α
ααα·ααΆ ααααΆα 2021α ααααααΈ 9 αααα½αααααα½ααααααααΎαααΆαα’αΆααααα αααααααΎα±ααααααΎαααΆαααααΆαα’αΆαααααααΈαααα 8 ααΆααααααΆααααα½αα
αααααΌαααΆααααΆαααΈααα
ααΎααααΈααααΎ Drupal ααΆααααΌαααΆαααααΆαα’ααααααΎ RAM 2 GB αα·α CPU 2 coresα
α―αααΆαααααΆααααααα Drupal ααΆαααα ααααα αα 100 MB ααΎαααΈαααα’αααααΉαααααΌαααΆααααααααααα»αααΌαααΆα ααΌαααααΆααα·αααααα ααααα αααΌαα»ααααααα αα·αααΆαααααα»ααα»ααααααΉαα’αΆαααααααΎααα αααα αααααααααα’αααα
Drupal 9 ααΆαααΆα PHP 7.4 α¬αααααααΆαααα ααΆαα½αααΉαααΆααααααα’αααααααΆ (memory_limit
) αααααΆααα’αααα
αα
αΆα 64 ααααΆαα ααααα·αααΎαααΌαα»αααααααααααΌαααΆαααααΎ ααΆααααΌαααΆαααααΆαα±ααααα‘αΎα 128 ααααΆααα
Drupal α’αΆα ααααΎ Apache α¬ Nginx ααΆ web server αα·α MySQL, PostgreSQL α¬ SQLite ααΆ databaseα
ααΎαααΉαααα‘αΎα Drupal αααααααΎ Nginx αα·α MySQL α
ααΆαααααα
αααααααΎαα αα α»ααααααααΆααααα αααααααΆαααα‘αΎααα ααααα α»αααααααααα»αα
sudo dnf update -y
α αΌαααααααααΆαα’αα»ααααΆαααΆα’α α·αααααααααααααΆααα ααΆα αα αΌααα ααΆααα ααα http/80 αα·α https/443α
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
αααα’αα»ααααα αααΆαααααααΆααααααΎαααααΈα
sudo systemctl reload firewalld
αααααα‘αΎα Nginxα
sudo dnf install nginx -y
αααα αΆααααααΎα αα·αααΎαααααΎαααΆααααΆαααΈααα Nginxα
sudo systemctl start nginx
sudo systemctl enable nginx
αααααΆαααααΆαα Centos ααααΆαααα
αα
α»ααααααααααΎ PHP 7.2 ααΌαααααααααααΆαα REMI ααΆαα½α PHP 7.4 (ααααα’αααααααΆαααααΆαα Drupal 9)α
ααΎααααΈααααΎααΌα
αααααααααααααΆαα EPEL (ααΆαααΆααααααααΆαα REMI)α
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
αααααααααααααΆαα REMIα
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
αααααΎααααΌαα»α php:remi-7.4 ααΎααααΈααα‘αΎα php 7.4α
sudo dnf module enable php:remi-7.4 -y
ααα‘αΎα php-fpm αα·α php-cliα
sudo dnf install -y php-fpm php-cli
αααααα‘αΎααααΌαα»α PHP αααααααΌαααΆααααααΆαα Drupal ααΎααααΈααααΎαααΆαα
sudo dnf install -y php-mysqlnd php-date php-dom php-filter php-gd php-hash php-json php-pcre php-pdo php-session php-simplexml php-spl php-tokenizer php-xml
ααΎαααααΉαααα‘αΎααααΌαα»α PHP mbstring opcache αααααΆαααααΆααααααα
sudo dnf install -y php-mbstring php-opcache
αααααα‘αΎααααΆαααΈααα MySQLα
sudo dnf install mysql-server -y
αααααΎα αα·αα αΆααααααΎααααΆαααΈααα MySQLα
sudo systemctl start mysqld
sudo systemctl enable mysqld
αααααΆαααΎααααα»ααααααΎαααααΌαααααΆαα VDS α αΎααα½αααΆα’αΆα ααΊα ααΎαααΉαααααααααΆααααααΆαααα αΆααααααΎα mysqld 30 αα·ααΆααΈ ααΎαα·αααΌα ααααααααΆα’αΆα ααΆααααα αΆααΆαα½ααααΆαααΈαααα αΆααααααΎαααα‘α»ααααα αΆααααααΎαααααααααααααΌαα
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
αααααααΆααααααΌααααα»α αα·αα’αααααααΎααααΆααααα nginx ααΉαααααΎαααΆααααααααΎααΆαααααΆααααααΌααα /etc/php-fpm.d/www.conf:
sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
αααααααΌαααα αΆαααα PHP sessions αα ααΆ nginx ααΆαα
sudo chown -R nginx. /var/lib/php/session
ααααα»ααααααΆαααααααΆαααα·αααααααΈα―αααΆαααααααα ααΆαααααααα /etc/nginx/nginx.conf (ααΌα αααααα·αααΆαααααααααααααΆαα sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
ααααααααΆααααααααΆααααα αΆαα gzip αα /etc/nginx/nginx.conf
sudo sed -i '/types_hash_max_size 2048;/a
gzip on;
gzip_static on;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/x-icon image/svg+xml application/x-font-ttf;
gzip_comp_level 9;
gzip_proxied any;
gzip_min_length 1000;
gzip_disable "msie6";
gzip_vary on;
' /etc/nginx/nginx.conf
αααααααααααΆααααααααα―αααΆααα·αα·αααα index.php αα /etc/nginx/nginx.confα
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
αααααααααααΆαααααααααααΆαααααΆαααΈαααααααΆαααΎαα ααααΎαααΆα PHP ααΆαααααααα php-fpm αα·ααααααα ααα»αααααΆααα―αααΆααα·αα·αααα αααααΎααααααααΆαα»αααααα αα·αααΆαα αΌαααααΎ αα·ααααααα ααα»ααα α»ααααααΆαα favicon.ico αα·α robots.txt αα·αααα·αααααΆαα αΌαααααΎ .ht α―αααΆααααααΆααα’αααααΆααααααΆα
sudo sed -i '/ location / {/a
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {
access_log off;
expires max;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ /.ht {
deny all;' /etc/nginx/nginx.conf
ααα‘αΎα wget αααααααΌαααΆααααααΆααααα‘αΎα certbotα
sudo dnf install wget -y
ααΆαααα―αααΆααααα’αΆα ααααα·ααααα·ααΆα certbot ααΈαααααααααα αααααΆαα
cd ~
wget https://dl.eff.org/certbot-auto
ααααΆααααΈ certbot αα /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-auto
α αΎαβααΌαβαααααβαα·αααα·βααΆβααα αΆααβααΎααααΈβα αΆααβα¬αα
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
αααααα‘αΎα certbot dependencies α αΎααα ααααΆααααΆααααααααΆαααΆαααΆαααααααΆ (α ααααΎαα Y, c)α
certbot-auto
αααααΆααααααααααΆαααΆαα½αααααα α»αααααααααα»ααααα Drupal 9 ααΈαααααααααα αααααΆαα
cd ~
wget https://www.drupal.org/download-latest/tar.gz
ααα‘αΎα tar ααΎααααΈαααααΆαααααααΆαα
sudo dnf install tar -y
ααααα»αα―αααΆαααααΆαααΎααα αααα»ααα /usr/share/nginx/html/α
rm -rf /usr/share/nginx/html/*
αααβααααΆαβα―αααΆαβα αΌαβαααα»αβααβαααΆαααΈαβαααααΎβαααααΆαα
tar xf tar.gz -C /usr/share/nginx/html/
αααααααΆααααΈα―αααΆαααΈαααααα αα root αααααΆαααΈαααααα αααααα
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/
ααααα»αααααα
rm -rf /usr/share/nginx/html/drupal-9.0.7
ααααα»ααααααααΆαααΆαα½αα―αααΆαααα‘αΎαα
rm -f ./tar.gz
α αΌααααααααα αΆααα―αααΆα nginxα
chown -R nginx. /usr/share/nginx/html
αα ααααΆααααΆαααα ααΎαααΉααα·ααααΆαααΈααα α αΎαααααΌααα½ααααααΉαα
shutdown -h now
αααααΆααααΈααΎαααααΎαααΆα VDS ααΈααΌααα ααΎαααΉαααααΎααΆαααα‘αΎαααααΌααααααΆαααΈααα MySQL αααααααΎαααΆαααααααΈαα
mysql_secure_installation
αααααΎααααααα·ααΈαααααΆααααΆααααααααΆααα
Would you like to setup VALIDATE PASSWORD component? : y
α αΌααααααααΆααααααααΆαααααααΆααα’αααααααΎααααΆααααΆ root MySQLα
New password:
Re-enter new password:
ααααα»αα’αααααααΎααααΆααα’ααΆαα·αα ααα
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
αααααΆαααΆα root ααΈααΆαααααΆααααΈα ααααΆαα
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
ααααα»αααΌαααααΆααα·ααααααααΆαααααα
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
ααααααα»αααΆααΆαα―ααα·αααα·α‘αΎααα·αα
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
αααααΆααααΈαααααΎααααΈαααα
ααααΆαααα‘αΎαααΎαα’αΆα
αα
αα
α’αΆααααααΆααααααΎαααΉαααΎααααααααα‘αΎα Drupal α
αααααααΎαααΎαααΆααΆαααααααΌαααααΎα α§ααΆα αααα αα»αααααΈα α α»α "αααααΆαα»α αα·ααααα"
αααααααΎαααΎαααααααααα‘αΎα (ααΆααααα αΆαααΊααααΎααΎααααΈααααΆαααααα½αα―αααΆαα½ααααααααα)α αααα»αααααΈααααααΎαα’αα»ααααΆαα±ααααΆααΆ "αααααααΆα" α
αα ααααααααααΆαα ααΎαααΉααααααααααααα ααΌαααααΆααα·αααααα α§ααΆα ααα "drupal" α α αΌαα ααα’α»ααααα αΆααααααα’αααααααΎααΌαααααΆααα·αααααα root αα·αααΆααααααααΆαααααααΆααααααα±ααααΆαααα αααααααΎαααΆα mysql_secure_installation α α α»α "αααααΆαα»α αα·αααααα"
ααααααα αΆαααΆαααα‘αΎα αα·αα’αΆαααααααΆαααααααααΎααααΈαααα αα (ααααΎαααΆαα’αΆα α αααΆααααα αααΎαααΆααΈ)α
ααΎαααΉαα ααα’α»ααααα αΆααααααααα ααααα αααααα’ααΈαααααα ααααα (αααα½αα±ααααΆαααΌαααααΉαααα αααααααΆαα½αααΉαααααΌαααΆαααααΎ) α αΌα ααΆααααααααΆαα αα·αα’ααΈαααααααααααΈα’αααααααααααα Drupal α ααΎαααααΉαααααααααααα αα·αααααααααααααΆαα αααα»αααΆααααααααααααααααα α αΎααααα ααααΆαααα‘αΎααααα α»α "αααααΆαα»ααα·ααααα" α
αααααΆααααΈααα α’αααα’αΆα α αΌααα ααΆααααααΆαααααααΆααΆαα½αααΉαααΆαα αΌα αα·αααΆααααααααΆααααααα’αααααααααααα Drupal αααααΆααααααΎαα
ααΆαααα‘αΎα HTTPS (ααΆαααααΎα)
ααΎααααΈααααααα ααΆαααααααα HTTPS VDS ααααΌαααααΆαααααα DNS ααααΉαααααΌα αααααΆαααααα»α
/etc/nginx/nginx.conf
αα αααα»αααααααααΆαααΈααα ααααααααΆαααΈααα (α§ααΆα ααα)α
server_name domainname.ru;
αααα αΆααααααΎα nginx α‘αΎααα·αα
service nginx restart
αααα αΆααααααΎα certbotα
sudo /usr/local/bin/certbot-auto --nginx
αααα αΌαα’ααΈαααααααα’ααα αααααααααΉαααααααααααααααΆαααα (A) ααΆαααααΉαααα·αααααααααααΆα (ααααα α α·ααα) (N) ααααΎαααΎααααααααααααα’αααα ααα αααα·ααααΆαααααα (αααα αΌααααααΆααα’αααααΆααααααΆ)α
ααααα·αααΎα’αααΈαααααΎαααΆααααααααΆαααα α»α ααΎαααΉαααΎαααΆαα’αααΈααΆαα αααα·ααααΆαααααα αα·αααΆαααααααα ααΆαααααααααααΆαααΈααααααααααααα
Congratulations! You have successfully enabled ...
αααααΆααααΈααα ααΆααααααΆαααα α ααα 80 ααΉαααααΌαααΆααααααΌααααααα 443 (https) α
αααααααα /etc/crontab ααΎααααΈααααΎαα αα α»ααααααααΆααα·ααααΆαααααααααααααααααααααα·α
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"
ααα‘αΎααα»ααααα·ααΆααααΆαααΈαααααα»αα α·ααα (ααΆαααααΆα)
ααΆαααααααααααΆααααααααααΆαααααααααΆαα αααααααα αΆαααααΆααααααΉαααΆααααααααΆααααα base_url α αΎαααααΌαααΆααα ααΆα‘αΎαααΎααααΈααΆαααΆαααΆαααΆααααα αΆα HTTP HOST Header (αα ααααααααα αααααααααα’ααααα·αααΆααΆααΆα’αααααααα)α
ααΎααααΈααααΎααΌα αααα α’αααααααΌααααααΆαααααααααααααα’αΆα αα»αα α·αααααΆααααααΆααααα ααααααα αααα»αα―αααΆαααΆααααααα
αα αααα»αα―αααΆα
/usr/share/nginx/html/sites/default/settings.php
α
αΌαααΎααα·ααααααααααα α¬ααααααααΆααααααααΆαα½αααααΆααααααααααα αααααααΆααααααα α§ααΆα αααα
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
ααΆαααα‘αΎα PHP APCu (ααΆαααααΆα)
Drupal ααΆαααα APCu - Alternative PHP User Cache αααα 8 αα·α 9 ααααΎα±ααααΆαααααΎααααΆαα APCu ααΆααααα αααΎαααΆααααΆαααααααΆαααααα»ααααα»αααααααααααΈααΆααααααα»αα ααα αααααΆαααααααΆααααααΆαααΎα (32 ααααΆαα) ααΊαααααααααααΆααααα αααααααΆαα αααΎα α αΎααα·αα’αΆα ααΎαααΈ 512 ααααΆααααΆαααα
ααΎααααΈααααΎαααΆα ααΌαααα‘αΎααααΌαα»α PHP APCuα
dnf -y install php-pecl-apcu
α αΆααααααΎα nginx αα·α php-fpm α‘αΎααα·αα
service nginx restart
service php-fpm restart
ααααα·αααΎα’αααααααΎααΆααΆαα»ααααΈ αα·α APCu ααΆαα½αααΉαααα αα’αααα αα αΆααααααΆαααααΆααααααΆααααααΆαααααααΆαα α’αααα’αΆα ααΎαααΆααααααΆααα αααα»αααααΆαααααααΆααΆααα αααα’αααα αα αΆααααααΆαααααα»ααα»ααααααΆααααααΆαααααααΆααααΊαα»αααΈα’αααΈαααααΆαααααΆα ααα»ααααααΆααα·αα’αααΈαααααΎαααΆαααΆαααααΉαααααΌα α αΎαααΆααααααΆααα·αααααΉαααααΌαααααααΆααΉαααααΌαααΆααααααααΌααα αααα»αααΆαα’αΆααααααααααΆααα
α¬ααααα·αααΎααΆααααααΆαααααΎα±αααααααΆααααααααααααααα’ααα α’αααα’αΆα
ααααΎ
ααΎαβα ααβααααΉαβα’αααβααΆ α’αααβααβα’αΆα βαααααΎαβααΌαααΆαβαααααΆααβααΎαβααΆαβαααα
ααΆααααααΎαααΈαααααΆααααααα αΌααα½αα
αααα αααΌαααΆαααααααα½αα―αα αΎαααα½αααΆα 3000 rubles αα ααΉααααα»αααααααα’αααα
ααααα·αααΎα’αααααααααααα½αααΆααααα ααΎααααΈαααααΆαααααααΆααα αΌααα αααα»ααααααΌαα·ααααΆαα α αΎααααααΎαααΌαααΆααααα’ααααααα»αααΆααααα ααΎαααΉααααααα₯αααΆααααα’αααααΆαα½αααΉαααΉαααααΆααα ααα½α 3000 ααΌααααααααααα»αααααΆααααα»αααααα’ααα αααα’αααα’αΆα α αααΆαααΎαααΆαααΈαααα
αααααααααΎαααΌαααΆαααααΆαααααα½αααααα’αααα
- αααααΎαααααΈααΆαα½αααΎααα
ααΎ
ααααααααααΆα - α’αα»ααααΆαα±ααα’αααααΆααααααΉαααΆα’αααααΉααααααΎα αα·αααΆαααααααΌαααΆα
- ααΎαααΉααααααα₯αααΆααααα’ααα 3000 ααΌαααα· α αΎαααΎαααααααΆααααααΎαααΌααα
- αααααΆαα·ααααΆαααΈααααα·αααα·αααΆαα½αααΉαααααααααααααα·ααααα·ααΆαααα’αΆα
- ααα‘αΎααααααα·ααΈαα ααΎ VPS αααα αΎαααααααα ααΆααααααααααΆα
- αααααααΆαααααΆα α¬ααααααΈααααααΆααααΆαααΆααα±ααααααΎααααΆαααααααα·ααΈ
- αααααΎαααΌααααααααΆαααααΆαααΈααααααααΆαααααααα ααΆαααααααα
- αααααΆαα·ααααΆαααΈααααα·αααα·αααααΈαααααααΎαααΎαααΌααααααααΆααααααΎαααΈαα»ααα αααα»ααααααΈαααααΆααα α»α "ααααΌαααΆαααΈααα"
- ααααα·αααΎαααΆαααΈαααααααΌαααΆααααααΎαααααααααα ααααααααααΆαααααααα½αααΆααα ααα αΆαααΈ 6 αα ααΆαααααα½ααα αα ααααα
- ααααα·αααΎααΆαααα α»α α’αααα’αΆα αα·αα·αααααΎααααααΆαααΆαααααααααΆααα ααα»αα α αΎαααααΎααΆαααα‘αΎαααααααα
αααααΆααααα αΆααα’αΆααΈαααααα αααααααΌααααααα·ααΈααααα’αααα
ααααα·αααΎα’αααααΆα’ααααααααΎααααααα·ααΈαααααααΌαααΆαααΆααα±ααααααΎααααΆαα αα·αααααΎααααΆαααα
ααΎ VPS αααααΎαα’αΆα
αα½ααααα
αΌαα’ααααα
αααα»αααΈααααΆαα αααααΆαααααααααΎαα’αΆα
αα½αα’αααααΆαααα’αα·αα·ααααααΈ α
ααΆα
ααα αα·αααΆααααααΉαα
ααααΆααααΎααα αααα»αααα·αααααααΆααΎααΌαααΆααααα’αααααΆαααααα½α?
α αΎαααΎαααΉααααα αααΆααααααα½αα―αα
ααααα: www.habr.com