Мой лог установки сервера Debian 8 от Time4VPS для Drupal-сайтов

Уровень сложности: 

Дешёвый виртуальный хостинг стал недостаточно дешёвым решением: есть оптимальный дешёвый VPS. И для переноса крупных сайтов я купил VPS на Time4VPS.eu
Я не стал ставить связку Apache2 + Nginx, так как на тостере говорят, друпал гоняет на nginx.

(После установки у меня были проблемы с модулем Boost) если вам нужны рекомендации профессионалов как настроить nginx для Друпала, смотрите: https://groups.drupal.org/nginx
Официальная документация настройки Nginx для Drupal: https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/

Установка на Debian8 веб-сервера Nginx + php + mysql .

Мой лог установки именно для time4vps, у которого свои особенности. Также в комментариях есть источники команд:

#http://saradmin.ru/?p=1501 ставим локаль, иначе не будут определяться переменные LC при установке и настройке nginx и php, по-моему и phpmyadmin

localedef ru_RU.UTF-8 -i ru_RU -fUTF-8

#http://ikorus.ru/kak-udalit-apache2/ удаляем апач, который предустановлен на time4vps

service apache2 stop
sudo apt-get purge apache2*

#https://infoboxcloud.ru/community/blog/iaas/300.html всегда выполняется на новой системе

apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade

#http://whmcs.ahost.eu/knowledgebase.php?action=displayarticle&id=1 сначала вроде как ставим php (потому что 5 раз я ставл nginx на этом шаге, он не настраивался..

apt-get install php5-cli php5-common php5-mysql php5-gd php5-fpm php5-cgi php5-fpm php-pear php5-mcrypt -y

#tlito
apt-get install nginx-full

#tlito Всё равно я ловлю ошибку такую: https://www.linux.org.ru/forum/web-development/12110633. тогда удаляю nginx и если что есть с ним связанное

apt-get purge nginx*

# после удаления косячного пакета nginx я ставлю его из правильного источника
# https://www.vultr.com/docs/setup-up-nginx-php-fpm-and-mariadb-on-debian-8

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

#nginx установлен успешно.

apt-get install -y mysql-server

#https://my.activecloud.com/ru/index.php?/Knowledgebase/Article/View/386/9/bzovja-ustnovk-lamp-linux-apache-mysql-php-n-debian-8

#при установке mysql придумайте сложный пароль root и введите когда запросит два раза

apt-get install mysql-server mysql-client

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl


# во время установки phpmyadmin надо не выбирать ни apache, ни lighttpd, а просто нажать энтер, пропустить. а затем указать пароль root mysql и задать пароль бд phpmyadmin

apt-get install phpmyadmin


#http://www.cs-cart.ru/docs/4.2.x/manager/install/vps/nginx/index.html

sudo apt-get install php5-fpm php5-mysql php5-curl php5-gd php-mail -y

#http://habrahabr.ru/post/67557/

apt-get install libpcre3-dev

apt-get install imagemagick php5-imagick


#http://drach.pro/blog/linux/item/97-debian-8-jessie-web-server

apt-get install nano vim-nox


#http://habrahabr.ru/post/226971/ безопасность

usermod -s /bin/false www-data



#http://lib.clodo.ru/web-%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80/webserver-lna.html

mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf---orig

nano /etc/nginx/nginx.conf

#в моей версии nginx 1.8 не было ни папок sites-enabled, sites-available, ни строки подключения этих папок в nginx.conf, поэтому я добавил такую строку в /etc/nginx.conf

include /etc/nginx/sites-enabled/*;

#затем я создал эти папки и в них настроил новый хост, и создал папку сайта. 
#http://www.sitepoint.com/set-automatic-virtual-hosts-nginx-apache/
# отмечу также, что создание символьной ссылки должно иметь полные пути файлов, иначе nginx выдавал стандартную страницу вместо моего сайта
#если использовать отноительные пути при создании ссылки, то не работает. надо так:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com

#после рестарта nginx, простой html файл открылся.

service nginx restart

#настройка fcgi. для друпала я выбрал fcgi, хотя бывает и php5-fpm и может быть и другие.

#https://romantelychko.com/blog/1303/
#там и настрока fcgi, и pool, и сокета, и хоста
#отмечу, что если ннастраивать fcgi как Рома Теличко, тогда надо удалить из nginx.conf строку подключения conf.d/* иначе ошибка:
#nginx: [emerg] "fastcgi_pass" directive is not allowed here in /etc/nginx/conf.d/fastcgi_params.conf:1

nano /etc/nginx/nginx.conf

apt-get install php5-fpm

nano /etc/php5/fpm/php-fpm.conf

nano /etc/php5/fpm/pool.d/www.conf

service php5-fpm restart

nano /etc/nginx/conf.d/fastcgi_params.conf



#сделать, чтобы phpmyadmin открывался по ip: 55.55.55.55/phpmyadmin
#http://www.lonelycoder.be/nginx-php-fpm-mysql-phpmyadmin-on-ubuntu-12-04/
#правильно настроить default и сделать символьную ссылку в моем случае в /usr/share/nginx/html хотя там www

sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html/phpmyadmin





#http://habrahabr.ru/post/186362/ безопасность, запретите порт 22, смените на любой другой номер, а также можно отключить ssh для root а создать нового пользователя и ему дать доступ

sudo nano /etc/ssh/sshd_config

adduser newuser
usermod -aG sudo newuser

#тогда можно подключаться от newuser и получать права суперпользователя:

ssh newsuer@55.55.55.55
sudo su


#добавляю подключение по sftp, ставлю ssh, openssh-server и конфигурирую

apt-get install ssh openssh-server

#http://wiki.enchtex.info/howto/ssh_sftp

nano /etc/ssh/sshd_config

#делаю пользователя и настраиваю ему доступ к /var/www и не забываю сменить пользователя, чтобы sftp подключался, а не сбрасывал соединение
#https://www.linux.org.ru/forum/web-development/12115125

chowner root:root /var/www

В результате сайты работают, но модуль кэширования постоянно пересоздаёт кэш и не использует его для ускорения загрузки.

Теги: