<- содержание

 

Настройка сервера Ubuntu 16.

 

1. Настройка после установки сервера.

2. Устанавливаем VmWare Tools

3. Приступам к установке web компонент

  3.1 php и nginx

  3.2 тот самый spawn-fcgi

4. Устанавливаем базу данных MySQL

  4.1 Загрузим сам дамп баз

  4.2 Выполните процесс апгрейда баз данных MySQL:

  4.3 Перезапустите MySQL

 

1. Настройка после установки сервера.

 

Включаем возможность войти в систему под привилегиями ROOT

 

Комманда смены пароля root в консоли звучит::

 

  sudo passwd root

 

Обновляем пакеты системмы:

 

 apt-get update

 apt-get dist-upgrade

 apt-get autoclean

 

Установим файловый менеджер mc и антивирь clamav

 

  apt-get install mc clamav clamav-daemon

 

Сразу обновляем базы антивируса clamav

 

  sudo freshclam

 

Теперь настроим подсветку конфигов для удобства чтения и правки.

 

$ sudo mcedit /etc/skel/.bashrc

 

найти и раскомментировать строку

 

  force_color_prompt=yes

 

Дальше ищем файл

 

$ sudo mcedit /usr/share/mc/syntax/Syntax

 

в конце файла меняем

 

  include unknown.syntax

 

на

 

  include sh.syntax

 

теперь все файлы в mcedit будут с подсветкой синтаксиса.

 

2. Устанавливаем VmWare Tools

 

Для начала установим дополнительные пакеты

 

  sudo apt-get update && sudo apt-get install build-essential linux-headers-$(uname -r)

 

т.к. система чистая то доставляем

 

  apt-get install make gcc

 

Загружаемся в установленную Ubuntu и вставляем в виртуальный привод образ диска "C:\Program Files (x86)\VMware\VMware Workstation\linux.iso", не забывая при этом нажать кнопку Connect на приводе для его подключения.

Смотрим подключенные диски

 

  sudo blkid

 

находим cdrom  (у меня это был sr0) и вводим

 

  mount /dev/sr0 /media/cdrom

 

Копируем все в папку /tmp, распаковываем

 

  sudo tar xvfz /media/cdrom/VMwareTools-*.tar.gz -C /tmp/

 

Установку VMware Tools запускаем командой:

 

  sudo perl /tmp/vmware-tools-distrib/vmware-install.pl

 

Оставим все значения по0умолчанию, нажимая в процессе установки Enter. После установки vmTools перезагрузите систему:

 

  sudo shutdown -r now

 

3. Приступам к установке web компонент

 

3.1 php и nginx

 

  apt-get install libpcre3-dev libcurl4-openssl-dev gcc nginx

 

Установка php из исходников -большая возня и отнимает много времени, по этому будем ставить из репозиториев:

 

  apti-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-xmlrpc php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-xsl php5-recode php5-snmp php5-sqlite php5-tidy snmp-mibs-downloader

 

переходим в конфигурационный файл PHP:

 

nano /etc/php5/php.ini

 

находим строку cgi.fix_pathinfo = 1 и снимаем с нее комментарий

 

Было:

 

cgi.fix_pathinfo = 1

 

Стало:

 

cgi.fix_pathinfo = 0

 

Сохраняем изменения, выходим.

 

3.2 тот самый spawn-fcgi

 

Нам необходимо установить web сервер lighttpd, сам сервер нам не нужен, но вместе с ним идет весьма ценный для нас модуль-spawn-fcgi

 

apt-get install lighttpd

 

После установки выйдет ошибка, что порт 80 занят-это нормально у нас там Nginx.

Теперь удаляем из автозагрузки lighttpd:

 

update-rc.d -f lighttpd remove

 

Нам необходимо запустить spawn-fcgi

 

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

 

Из написанного видно что закупается spawn-fcgi на порту 9000, от имени пользователя www-data.

Теперь свяжим вместе nginx и spawn-fcgi. Для этого правим конфигурационный файл нашего сайта

 

/etc/nginx/sites-available/www.example.com

 

------------------------------------------------------------------------------------------------------------

server {

   server_name www.example.com example.com;

   access_log /srv/www/www.example.com/logs/access.log;

   error_log /srv/www/www.example.com/logs/error.log;

   root /srv/www/www.example.com/public_html;

 

   location / {

       index  index.html index.htm;

   }

 

   location ~ \.php$ {

       include /etc/nginx/fastcgi_params;

       fastcgi_pass 127.0.0.1:9000;

       fastcgi_index index.php;

       fastcgi_param SCRIPT_FILENAME /srv/www/www.example.com/public_html$fastcgi_script_name;

   }

}

----------------------------------------------------------------------------------------------------------------

 

Теперь создадим конфиг для spawn-cgi

 

  touch /usr/bin/php-fastcgi

 

---------------------------------------------------------------------------------------------------------------

#!/bin/bash

 

FASTCGI_USER=www-data

 

FASTCGI_GROUP=www-data

ADDRESS=127.0.0.1

PORT=9000

PIDFILE=/var/run/fastcgi-php.pid

CHILDREN=6

PHP5=/usr/bin/php5-cgi

 

/usr/bin/spawn-fcgi -a $ADDRESS -p $PORT -P $PIDFILE -C $CHILDREN -u $FASTCGI_USER -g $FASTCGI_GROUP -f $PHP5

---------------------------------------------------------------------------------------------------------------

 

Сохраняем и даем права

 

  chmod +x /usr/bin/php-fastcgi

 

Создадим ссылку на наш сайт в nginx

 

  cd /etc/nginx/sites-enabled/

  ln -s /etc/nginx/sites-available/www.example.com

 

Создадим файл запуска spawn-cgi:

 

  touch /etc/init.d/php-fastcgi

 

---------------------------------------------------------------------------------------------------------------

#!/bin/bash

 

PHP_SCRIPT=/usr/bin/php-fastcgi

FASTCGI_USER=www-data

FASTCGI_GROUP=www-data

PID_DIR=/var/run

PID_FILE=/var/run/fastcgi-php.pid

RET_VAL=0

 

case "$1" in

   start)

     if [[ ! -d $PID_DIR ]]

     then

       mkdir $PID_DIR

       chown $FASTCGI_USER:$FASTCGI_GROUP $PID_DIR

       chmod 0770 $PID_DIR

     fi

     if [[ -r $PID_FILE ]]

     then

       echo "php-fastcgi already running with PID `cat $PID_FILE`"

       RET_VAL=1

     else

       $PHP_SCRIPT

       RET_VAL=$?

     fi

 ;;

   stop)

     if [[ -r $PID_FILE ]]

     then

       kill `cat $PID_FILE`

       rm $PID_FILE

       RET_VAL=$?

     else

echo "Could not find PID file $PID_FILE"

       RET_VAL=1

     fi

 ;;

   restart)

     if [[ -r $PID_FILE ]]

     then

       kill `cat $PID_FILE`

       rm $PID_FILE

       RET_VAL=$?

     else

       echo "Could not find PID file $PID_FILE"

     fi

     $PHP_SCRIPT

     RET_VAL=$?

 ;;

   status)

     if [[ -r $PID_FILE ]]

     then

       echo "php-fastcgi running with PID `cat $PID_FILE`"

       RET_VAL=$?

     else

       echo "Could not find PID file $PID_FILE, php-fastcgi does not appear to be running"

     fi

 ;;

   *)

     echo "Usage: php-fastcgi {start|stop|restart|status}"

     RET_VAL=1

 ;;

esac

exit $RET_VAL

--------------------------------------------------------------------------------------------------------

 

Выдаем права и помещаем файл в автозагрузку

 

  chmod +x /etc/init.d/php-fastcgi

  update-rc.d php-fastcgi defaults

 

Запускаем сервисы

 

  /etc/init.d/php-fastcgi start

 /etc/init.d/nginx start

 

Теперь создадим следующий PHP файл в корневом каталоге документов

Цитировать

 

vi /var/www/nginx-default/info.php

 

-------------------------------------

<?php

phpinfo();

?>

-------------------------------------

 

4. Устанавливаем базу данных MySQL

 

Теперь, когда у нас есть веб-сервер, нам необходимо установить MySQL - базу данных, где будет храниться информация для нашего сайта.

Сделать это достаточно просто, открываем консоль и вбиваем:

 

  apt-get install mysql-server

 

В процессе установки вам будет предложено ввести пароль администратора MySQL, который вам стоит запомнить или записать.

Все, MySQL установлен, но еще не настроен до конца.

Во-первых, необходимо создать первичную структуру для хранения данных самой MySQL. Мы можем это сделать командой:

 

   mysql_install_db

 

Далее нам необходимо запустить сценарий безопасности, который изменит некоторые настройки идущие по умолчанию:

 

  mysql_secure_installation

 

Вам нужно будет ввести пароль администратора MySQL, который Вы выбрали во время установки.

 

Далее, вам будет предложено изменить его. Если в этом нет необходимости, введите "N" и нажмите "ENTER". После этого вам будет предложено удалить некоторых тестовых пользователей и базы данных. Вы должны просто нажимать "ENTER" при появлении вопросов, чтобы удалить опасные настройки по умолчанию.

 

После того, как сценарий завершиться, MySQL готов к использованию.

 

Но нам нужно восстановить дамп базы со старой версии MySQL.

 

4.1 Загрузим сам дамп баз

 

mysql -u root -p < dump.sql

 

Дамп всех баз данных в MySQL создается командой:

 

mysqldump --all-databases -u root -p > dump.sql

 

4.2 Выполните процесс апгрейда баз данных MySQL:

 

mysql_upgrade -u root -p --force

 

4.3 Перезапустите MySQL

 

service mysql restart

 

Процесс обновления MySQL завершен. Можно проверить версию СУБД.

 

mysql -u root -p -e 'SHOW VARIABLES LIKE "%version%";'

 

На этом всё. Базы подгружены и конвертированы под новую версию.