Я сам сделал сайт, что дальше? Как его продвигать? Читайте на нашем сайте.
+7(910)140-50-90 (Кэп)

Как запилить более 10 сайтов на бесплатной версии ISP Manager

Задача: есть VDS, установлен бесплатный ispmanager, нужно разместить 11й сайт (12й, 13й и т. д., насколько хватит дискового пространства), денег нет.

Решение

Любая ошибка в алгоритме может привести к тому, что слетят все ваши настройки, и придётся восстанавливать диск из бэкапа. Перед всеми подобными манипуляциями рекомендую сделать копии соответствующих папок, хотя это вам не поможет.

  1. /etc/bind/named.conf. Копируем последнюю запись, изменяя имя домена. Должен добавиться примерно такой кусок:

    zone "my.digital-hosting.biz" {
    	type master;
    	file "/etc/bind/domains/my.digital-hosting.biz";
    };
    
  2. /etc/bind/domains В этой папке добавляем файл аналогично соседним. В моём случае это файл с именем my.digital-hosting.biz такого содержания:

    $TTL 3600
    my.digital-hosting.biz.	IN	SOA	@@@@@@@@.fvds.ru. root.@@@@@@@@.fvds.ru. (2022110700 10800 3600 604800 86400)
    my.digital-hosting.biz.	IN	NS	ns1.firstvds.ru.
    my.digital-hosting.biz.	IN	NS	ns2.firstvds.ru.
    my.digital-hosting.biz.	IN	TXT	"v=spf1 ip4:86.110.212.97 a mx ~all"
    my.digital-hosting.biz.	IN	MX	10 mail
    my.digital-hosting.biz.	IN	MX	20 mail
    my.digital-hosting.biz.	IN	A	86.110.212.97
    www	IN	A	86.110.212.97
    ftp	IN	A	86.110.212.97
    mail	IN	A	86.110.212.97
    smtp	IN	A	86.110.212.97
    pop	IN	A	86.110.212.97
    
  3. /etc/nginx/vhosts/www-root Копируем файлик с конфигурацией, переименовываем и изменяем там параметры. В моем случае my.digital-hosting.biz.conf. Здесь особенно важны строки 43-44, в которых прописаны пути к сертификатам. Эти файлы при перезапуске служб должны реально физически существовать. /var/www/www-root/data/my.digital-hosting.biz — это путь к папке, где валяются файлы сайта, куда нужно загрузить хотя-бы index.html (лучше, чтобы название отличалась от имени домена).

    server {
    	server_name my.digital-hosting.biz www.my.digital-hosting.biz;
    	charset off;
    	index index.php index.html;
    	disable_symlinks if_not_owner from=$root_path;
    	include /etc/nginx/vhosts-includes/*.conf;
    	include /etc/nginx/vhosts-resources/my.digital-hosting.biz/*.conf;
    	access_log /var/www/httpd-logs/my.digital-hosting.biz.access.log;
    	error_log /var/www/httpd-logs/my.digital-hosting.biz.error.log notice;
    	ssi on;
    	set $root_path /var/www/www-root/data/my.digital-hosting.biz;
    	root $root_path;
    	gzip on;
    	gzip_comp_level 5;
    	gzip_disable "msie6";
    	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
    	location / {
    		location ~ [^/]\.ph(p\d*|tml)$ {
    			try_files /does_not_exists @fallback;
    		}
    		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
    			expires 24h;
    			try_files $uri $uri/ @fallback;
    		}
    		location / {
    			try_files /does_not_exists @fallback;
    		}
    	}
    	location @fallback {
    		proxy_pass http://127.0.0.1:8080;
    		proxy_redirect http://127.0.0.1:8080 /;
    		proxy_set_header Host $host;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		proxy_set_header X-Forwarded-Proto $scheme;
    		proxy_set_header X-Forwarded-Port $server_port;
    		access_log off;
    	}
    	return 301 https://$host:443$request_uri;
    	listen 86.110.212.97:80;
    }
    server {
    	server_name my.digital-hosting.biz www.my.digital-hosting.biz;
    	ssl_certificate "/var/www/httpd-cert/www-root/my.digital-hosting.biz_le1.crtca";
    	ssl_certificate_key "/var/www/httpd-cert/www-root/my.digital-hosting.biz_le1.key";
    	ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
    	ssl_prefer_server_ciphers on;
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    	ssl_dhparam /etc/ssl/certs/dhparam4096.pem;
    	charset off;
    	index index.php index.html;
    	disable_symlinks if_not_owner from=$root_path;
    	include /etc/nginx/vhosts-includes/*.conf;
    	include /etc/nginx/vhosts-resources/my.digital-hosting.biz/*.conf;
    	access_log /var/www/httpd-logs/my.digital-hosting.biz.access.log;
    	error_log /var/www/httpd-logs/my.digital-hosting.biz.error.log notice;
    	ssi on;
    	set $root_path /var/www/www-root/data/my.digital-hosting.biz;
    	root $root_path;
    	gzip on;
    	gzip_comp_level 5;
    	gzip_disable "msie6";
    	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
    	location / {
    		location ~ [^/]\.ph(p\d*|tml)$ {
    			try_files /does_not_exists @fallback;
    		}
    		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
    			expires 24h;
    			try_files $uri $uri/ @fallback;
    		}
    		location / {
    			try_files /does_not_exists @fallback;
    		}
    	}
    	location @fallback {
    		proxy_pass http://127.0.0.1:8080;
    		proxy_redirect http://127.0.0.1:8080 /;
    		proxy_set_header Host $host;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		proxy_set_header X-Forwarded-Proto $scheme;
    		proxy_set_header X-Forwarded-Port $server_port;
    		access_log off;
    	}
    	listen 86.110.212.97:443 ssl http2;
    }
    
  4. /etc/apache2/vhosts/www-root Тут создаём копию конфигурации для Apache.

    
    	ServerName my.digital-hosting.biz
    	DocumentRoot /var/www/www-root/data/my.digital-hosting.biz
    	ServerAdmin webmaster@my.digital-hosting.biz
    	AddDefaultCharset off
    	AssignUserID www-root www-root
    	CustomLog /var/www/httpd-logs/my.digital-hosting.biz.access.log combined
    	ErrorLog /var/www/httpd-logs/my.digital-hosting.biz.error.log
    	
    		SetHandler application/x-httpd-php
    	
    	
    		Include /etc/apache2/users-php/www-root.conf
    		Include /etc/apache2/vhosts-php/my.digital-hosting.biz.conf
    		php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@my.digital-hosting.biz"
    		php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
    		php_admin_value session.save_path "/var/www/www-root/data/mod-tmp"
    		php_admin_value open_basedir "/var/www/www-root/data:."
    	
    	
    		Include /etc/apache2/users-php/www-root.conf
    		Include /etc/apache2/vhosts-php/my.digital-hosting.biz.conf
    		php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@my.digital-hosting.biz"
    		php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
    		php_admin_value session.save_path "/var/www/www-root/data/mod-tmp"
    		php_admin_value open_basedir "/var/www/www-root/data:."
    	
    	
    		Include /etc/apache2/users-php/www-root.conf
    		Include /etc/apache2/vhosts-php/my.digital-hosting.biz.conf
    		php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@my.digital-hosting.biz"
    		php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
    		php_admin_value session.save_path "/var/www/www-root/data/mod-tmp"
    		php_admin_value open_basedir "/var/www/www-root/data:."
    	
    	SetEnvIf X-Forwarded-Proto https HTTPS=on
    	ServerAlias www.my.digital-hosting.biz
    	DirectoryIndex index.php index.html
    	
    		SetHandler application/x-httpd-php-source
    	
    
    
    	Options +Includes -ExecCGI
    	
    		php_admin_flag engine on
    	
    	
    		php_admin_flag engine on
    	
    	
    		php_admin_flag engine on
    	
    
    
    
  5. /etc/apache2/vhosts-php Тут просто создаём копию нулевого файла соответствующим именем my.digital-hosting.biz.conf

  6. Теперь создадим видимость присутствия SSL-сертификата (позже запилим его сертботом). Идем сюда /var/www/httpd-cert/www-root и просто копируем старые файлы сертификатов с заменой имён. Соответственно, имена должны совпадать с прописанными выше в файлах конфигурации (строки 43,44 /etc/nginx/vhosts/www-root/my.digital-hosting.biz.conf).

    Файлы сертификатов

  7. Наконец-то можно перезагрузить службы nginx и apache в ispmanager. Если они перезапустились нормально, лампочки горят, то вы всё сделали правильно. Если какая-то служба не запускается, ищете косяки в правке файлов. Я рекомендую перезапускать службы непосредственно из ispmanager, хотя можно это делать и из ssh-консоли соответствующими командами.

    Перезапуск служб

  8. Осталось не много. Идём заниматься управлением доменами в DNS-менеджер типа https://msk-dns2.hoztnode.net/dnsmgr. Там нужно всего лишь создать домен и прописать IP. Если у вас уже были прописаны NS в настройках домена там, где вы его оформляли, сразу после этого можно открывать сайт смотреть на ваш index.html и всё, что вы закачали в папку файлов. Вопросы модерирования баз данных я здесь не рассматриваю.

  9. Когда сайт открывается и браузер ругается на отсутствие SSL, самое время установить настоящий сертификат сертботом командой в SSH-консоли типа (надеюсь, certbot на вашу версию Linux установите сами, если не справитесь — звоните)

    sudo certbot --nginx -d my.digital-hosting.biz -d www.my.digital-hosting.biz
    

Дополнение от 09.03

Впиливал новый сайтик в свежую триальную версию Ispmanager с ограничением по времени, допустил невнимательность, из-за которой не стартовал nginx. Оплошность была в том, что файлы сертефикатов на 6м шаге скопировал не все, забыл .key. Благо, подсказали логи из /var/log/nginx/error.log.

Заодно нашел еще конфиги, которые нужно править копированием.

Это файлик /etc/nginx/conf.d/isplimitreq.conf (там внутри увидите, как добавить такую же строчку) и папка /etc/nginx/vhosts-resources, в которой нужно создать одноимённую домену папку с соответствующими правками внутри (файлик reqlimit.conf, в котором нужно только поменять домен).

Другой мелкой неприятностью стало то, что nginx и apache2 в этой триальной версии нельзя перезапускать из Ispmanager, приходится командами из консоли (выбрать нужное по вкусу):

sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo service apache2 start
sudo systemctl stop apache2
sudo systemctl restart apache2

apachectl configtest
systemctl  status apache2.service

Можно конечно ребутнуть сервак лёгким движением пальца, но зачем тревожить все службы, когда кочевряжится только nginx.

Еще совет напоследок: лучше заранее закинуть домен в DNSmanager, т. к. пока не пройдет обновление, нельзя будет установить сертботом новый ssl-сертификат, будет отбивка, что "Invalid response from https:/....com:443".

Спасибо за внимание. Рекомендую всё-таки заплатить.

Следующая статья: SEO-аудит сайта https://capweb.ru/seo-audit-sajta.html

Предыдущая статья: YML для староверов MODx Evolution https://capweb.ru/yml-yandex-modx-evolution.html

Позиции сайта ООО Дека-НН на начало 2015 года
Позиции сайта veragold.ru на декабрь 2014 г.
reative
nalytics
romotion

Оставьте Вашу контактную информацию, и мы свяжемся с Вами!

Получайте горячие новости интернет-маркетинга и вечную скидку 5%!