Сейчас 127 заметки.

Редактирование: Установка и настройка веб-сервера LEMP на Debian 5 (Lenny)

Материал из ЗАметки

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

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

Текущая версия Ваш текст
Строка 4: Строка 4:
  
 
Это руководство предполагает, что вы вошли в систему как суперпользователь root.
 
Это руководство предполагает, что вы вошли в систему как суперпользователь root.
 +
Содержание
 +
Установка веб-сервера Nginx
 +
Установка Nginx из пакета Debian
 +
Установка Nginx из портированых на Debian пакетов
 +
Компиляция Nginx из исходных кодов
 +
Настройка виртуальных хостов на Nginx
 +
Установка и настройка PHP с FastCGI
 +
Установка и настройка сервера баз данных MySQL
 +
Установка MySQL
 +
Настройка MySQL и настройка базы данных MySQL
  
 
Перед началом установки необходимо обновить репозитории и установленные программы:
 
Перед началом установки необходимо обновить репозитории и установленные программы:
  
<pre>apt-get update
+
apt-get update
apt-get upgrade</pre>
+
apt-get upgrade
 
+
Установка веб-сервера Nginx
 
 
'''Установка веб-сервера Nginx'''
 
  
 
Есть несколько жизнеспособных и популярных способов для установки стека LEMP:
 
Есть несколько жизнеспособных и популярных способов для установки стека LEMP:
  
Первый вариант устанавливает пакеты с программным обеспечением из репозитория Debian содержащего стабильные версии веб-сервера и дополнительного программного обеспечения.
+
    Первый вариант устанавливает пакеты с программным обеспечением из репозитория Debian содержащего стабильные версии веб-сервера и дополнительного программного обеспечения.
При втором случае, пакеты устанавливаются из репозитория проекта Debian Backports. Backports пакеты более актуальны, чем их стабильные аналоги, предоставляемые стандартным репозиторием Debian.
+
    При втором случае, пакеты устанавливаются из репозитория проекта Debian Backports. Backports пакеты более актуальны, чем их стабильные аналоги, предоставляемые стандартным репозиторием Debian.
Последний вариант требует загрузки исходных кодов Nginx и компиляции программного обеспечения вручную. Данный способ установки позволяет запускать самые последние версии программного обеспечения.
+
    Последний вариант требует загрузки исходных кодов Nginx и компиляции программного обеспечения вручную. Данный способ установки позволяет запускать самые последние версии программного обеспечения.
  
 
Все варианты совместимы, но в большинстве случаев мы рекомендуем использовать пакеты из проекта Debian или Backports если ваши потребности требуют версия новее, чем предоставленная в репозитории Debian.
 
Все варианты совместимы, но в большинстве случаев мы рекомендуем использовать пакеты из проекта Debian или Backports если ваши потребности требуют версия новее, чем предоставленная в репозитории Debian.
  
Одна из причин по которой Вам необходимо воспользоваться вариантом сборки из исходников - установка дополнительных модулей во время компиляции и получение функций, добавленных в более поздних версиях
+
Одна из причин по которой Вам необходимо воспользоваться вариантом сборки из исходников - установка дополнительных модулей во время компиляции и получение функций, добавленных в более поздних версиях.
 
+
Установка Nginx из пакета Debian
 
 
'''Установка Nginx из пакета Debian'''
 
  
 
Если Вы выбрали первый вариант установки - из репозитория Debian, Вам необходимо ввести в консоль следующую команду:
 
Если Вы выбрали первый вариант установки - из репозитория Debian, Вам необходимо ввести в консоль следующую команду:
  
<pre>apt-get install nginx</pre>
+
apt-get install nginx
  
 
Результатом выполнения команды будет установленный веб-сервер Nginx последней стабильной версии.
 
Результатом выполнения команды будет установленный веб-сервер Nginx последней стабильной версии.
Строка 37: Строка 43:
 
Редактируем файл: /etc/apt/sources.list
 
Редактируем файл: /etc/apt/sources.list
  
<pre>deb http://backports.debian.org/debian-backports lenny-backports main</pre>
+
deb http://backports.debian.org/debian-backports lenny-backports main
  
 
После этого необходимо отредактировать файл /etc/apt/preferences, добавив в него строки:
 
После этого необходимо отредактировать файл /etc/apt/preferences, добавив в него строки:
Строка 43: Строка 49:
 
Редактируем файл: /etc/apt/preferences
 
Редактируем файл: /etc/apt/preferences
  
<pre>Package: nginx
+
Package: nginx
 
Pin: release a=lenny-backports
 
Pin: release a=lenny-backports
Pin-Priority: 999</pre>
+
Pin-Priority: 999
  
 
Теперь необходимо выполнить обновление репозитория и установку Nginx. Для этого выполните следующие команды:
 
Теперь необходимо выполнить обновление репозитория и установку Nginx. Для этого выполните следующие команды:
  
<pre>apt-get update
+
apt-get update
apt-get install nginx</pre>
+
apt-get install nginx
  
 
Выполните первый запуск Nginx командой:
 
Выполните первый запуск Nginx командой:
  
<pre>/etc/init.d/nginx start</pre>
+
/etc/init.d/nginx start
 
+
Компиляция Nginx из исходных кодов
 
 
'''Компиляция Nginx из исходных кодов'''
 
  
 
Если вы хотите собрать и установить Nginx из исходных кодов, введите следующие команды, чтобы установить необходимые компоненты:
 
Если вы хотите собрать и установить Nginx из исходных кодов, введите следующие команды, чтобы установить необходимые компоненты:
  
<pre>apt-get install libpcre3-dev build-essential libssl-dev sudo</pre>
+
apt-get install libpcre3-dev build-essential libssl-dev sudo
  
 
Перейдите на страницу загрузки Nginx и скопируйте ссылку на последнюю стабильную (либо необходимую Вам) версию Nginx. Для загрузки Nginx по сети выполните следующие команды:
 
Перейдите на страницу загрузки Nginx и скопируйте ссылку на последнюю стабильную (либо необходимую Вам) версию Nginx. Для загрузки Nginx по сети выполните следующие команды:
  
<pre>cd /opt/
+
cd /opt/
 
wget http://nginx.org/download/nginx-0.8.54.tar.gz
 
wget http://nginx.org/download/nginx-0.8.54.tar.gz
 
tar -zxvf nginx-0.8.54.tar.gz
 
tar -zxvf nginx-0.8.54.tar.gz
cd /opt/nginx-0.8.54/</pre>
+
cd /opt/nginx-0.8.54/
  
 
Подготовьте Nginx для компиляции введя команду:
 
Подготовьте Nginx для компиляции введя команду:
  
<pre>./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_ssl_module</pre>
+
./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_ssl_module
  
 
После завершения команды ./configure, Вы увидите информацию о расположении связанных с Nginx файлов.
 
После завершения команды ./configure, Вы увидите информацию о расположении связанных с Nginx файлов.
  
<pre>nginx path prefix: "/opt/nginx"
+
nginx path prefix: "/opt/nginx"
 
nginx binary file: "/opt/nginx/sbin/nginx"
 
nginx binary file: "/opt/nginx/sbin/nginx"
 
nginx configuration prefix: "/opt/nginx/conf"
 
nginx configuration prefix: "/opt/nginx/conf"
Строка 85: Строка 89:
 
nginx http client request body temporary files: "client_body_temp"
 
nginx http client request body temporary files: "client_body_temp"
 
nginx http proxy temporary files: "proxy_temp"
 
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"</pre>
+
nginx http fastcgi temporary files: "fastcgi_temp"
  
 
Следующие команды выполнят компиляцию и установку Nginx:
 
Следующие команды выполнят компиляцию и установку Nginx:
  
<pre>make
+
make
make install</pre>
+
make install
  
 
Создайте в системе пользователя для запуска процессов Nginx. Для этого введите следующую команду:
 
Создайте в системе пользователя для запуска процессов Nginx. Для этого введите следующую команду:
  
<pre>adduser --system --no-create-home --disabled-login --disabled-password --group nginx</pre>
+
adduser --system --no-create-home --disabled-login --disabled-password --group nginx
  
 
Следующим шагом будет установка и настройка init script который поможет нам запускать и останавливать Nginx. Для этого выполним следующие команды:
 
Следующим шагом будет установка и настройка init script который поможет нам запускать и останавливать Nginx. Для этого выполним следующие команды:
  
<pre>wget http://lib.clodo.ru/public/web-servers/nginx/init-deb.sh
+
wget http://lib.clodo.ru/public/web-servers/nginx/init-deb.sh
 
mv init-deb.sh /etc/init.d/nginx
 
mv init-deb.sh /etc/init.d/nginx
 
chmod +x /etc/init.d/nginx
 
chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults</pre>
+
/usr/sbin/update-rc.d -f nginx defaults
  
 
Для первого запуска Nginx выполните команду:
 
Для первого запуска Nginx выполните команду:
  
<pre>/etc/init.d/nginx start</pre>
+
/etc/init.d/nginx start
 
+
Настройка виртуальных хостов на Nginx
 
 
'''Настройка виртуальных хостов на Nginx'''
 
  
 
Независимо от используемого метода установки Nginx, вам нужно настроить веб-сервер указав виртуальные хосты. Рассмотрим пример конфигурации виртуального хоста Nginx:
 
Независимо от используемого метода установки Nginx, вам нужно настроить веб-сервер указав виртуальные хосты. Рассмотрим пример конфигурации виртуального хоста Nginx:
  
<pre>server {
+
server {
 
     listen  80;
 
     listen  80;
 
     server_name www.clodo.com clodo.com;
 
     server_name www.clodo.com clodo.com;
Строка 122: Строка 124:
 
         index  index.html index.htm;
 
         index  index.html index.htm;
 
     }
 
     }
}</pre>
+
}
  
 
Необходимо создать указанные в конфигурации каталоги. Для этого выполним следующие команды:
 
Необходимо создать указанные в конфигурации каталоги. Для этого выполним следующие команды:
  
<pre>mkdir -p /srv/www/clodo.com/public_html
+
mkdir -p /srv/www/clodo.com/public_html
mkdir -p /srv/www/clodo.com/logs</pre>
+
mkdir -p /srv/www/clodo.com/logs
  
 
Если для установки Nginx вы использовали пакеты из репозитория Debian, создайте конфигурационный файл /etc/nginx/sites-available/clodo.com содержащий указанную выше конфигурацию Nginx, а затем введите следующую команду для активации новой конфигурации и перезапуска веб-сервера:
 
Если для установки Nginx вы использовали пакеты из репозитория Debian, создайте конфигурационный файл /etc/nginx/sites-available/clodo.com содержащий указанную выше конфигурацию Nginx, а затем введите следующую команду для активации новой конфигурации и перезапуска веб-сервера:
  
<pre>ln -s /etc/nginx/sites-available/clodo.com /etc/nginx/sites-enabled
+
ln -s /etc/nginx/sites-available/clodo.com /etc/nginx/sites-enabled
/etc/init.d/nginx restart</pre>
+
/etc/init.d/nginx restart
  
 
Для того что бы отключить конфигурацию, выполните команды:
 
Для того что бы отключить конфигурацию, выполните команды:
  
<pre>rm /etc/nginx/sites-enabled/clodo.com
+
rm /etc/nginx/sites-enabled/clodo.com
/etc/init.d/nginx restart</pre>
+
/etc/init.d/nginx restart
  
 
При деактивации конфигурации, конфигурационный файл сохраняется и Вы можете в любой момент снова активировать необходимую конфигурацию веб-сервера.
 
При деактивации конфигурации, конфигурационный файл сохраняется и Вы можете в любой момент снова активировать необходимую конфигурацию веб-сервера.
Строка 145: Строка 147:
 
Редактируем файл: /nginx/conf/nginx.conf
 
Редактируем файл: /nginx/conf/nginx.conf
  
<pre>http {
+
http {
 
# [...]
 
# [...]
  
Строка 151: Строка 153:
  
 
# [...]       
 
# [...]       
}</pre>
+
}
  
 
Сделанное изменение включает расположение директории sites-enabled.
 
Сделанное изменение включает расположение директории sites-enabled.
Строка 159: Строка 161:
 
Редактируем файл: /opt/nginx/conf/nginx.conf
 
Редактируем файл: /opt/nginx/conf/nginx.conf
  
<pre>http {
+
http {
 
# [...]
 
# [...]
  
Строка 165: Строка 167:
  
 
# [...]       
 
# [...]       
}</pre>
+
}
  
 
После этого необходимо создать файл конфигурации виртуального хоста по примеру указанному выше (clodo.com)
 
После этого необходимо создать файл конфигурации виртуального хоста по примеру указанному выше (clodo.com)
Строка 171: Строка 173:
 
После того как вы настроили конфигурационные файлы Nginx, перезапустите веб-сервер для активации новой конфигурации, выполнив следующую команду:
 
После того как вы настроили конфигурационные файлы Nginx, перезапустите веб-сервер для активации новой конфигурации, выполнив следующую команду:
  
<pre>/etc/init.d/nginx restart</pre>
+
/etc/init.d/nginx restart
  
 
Перед перезапуском убедитесь, что каталоги на которые ведут ссылки в вашей конфигурации существуют.
 
Перед перезапуском убедитесь, что каталоги на которые ведут ссылки в вашей конфигурации существуют.
 
+
Установка и настройка PHP с FastCGI
'''
 
Установка и настройка PHP с FastCGI'''
 
  
 
Для развертывания приложений PHP, вам установить связку PHP-FastCGI, позволяющее Nginx правильно обрабатывать и обслуживать страницы, содержащие PHP код. Для начала процесса установки, необходимо выполнить команду:
 
Для развертывания приложений PHP, вам установить связку PHP-FastCGI, позволяющее Nginx правильно обрабатывать и обслуживать страницы, содержащие PHP код. Для начала процесса установки, необходимо выполнить команду:
  
<pre>apt-get install php5-cli php5-cgi build-essential wget psmisc</pre>
+
apt-get install php5-cli php5-cgi build-essential wget psmisc
  
 
Посетите сайт проекта spawn-fcgi и найдите ссылку для скачивания последней версии FastCGI. После этого выполните следующие команды:
 
Посетите сайт проекта spawn-fcgi и найдите ссылку для скачивания последней версии FastCGI. После этого выполните следующие команды:
  
<pre>cd /opt
+
cd /opt
 
wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
 
wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
 
tar -zxvf spawn-fcgi-1.6.3.tar.gz
 
tar -zxvf spawn-fcgi-1.6.3.tar.gz
Строка 191: Строка 191:
 
make
 
make
 
make install
 
make install
ln -s /opt/spawn-fcgi/bin/spawn-fcgi /usr/bin/spawn-fcgi</pre>
+
ln -s /opt/spawn-fcgi/bin/spawn-fcgi /usr/bin/spawn-fcgi
  
 
Выполните следующую последовательность команд для загрузки скрипта оболочки для PHP-FastCGI, содержащий сценарий для контроля процесса первого старта:
 
Выполните следующую последовательность команд для загрузки скрипта оболочки для PHP-FastCGI, содержащий сценарий для контроля процесса первого старта:
  
<pre>cd /opt/
+
cd /opt/
 
wget https://library.linode.com/lemp-guides/reference/php-fastcgi-deb
 
wget https://library.linode.com/lemp-guides/reference/php-fastcgi-deb
 
mv /opt/php-fastcgi-deb /usr/bin/php-fastcgi
 
mv /opt/php-fastcgi-deb /usr/bin/php-fastcgi
Строка 203: Строка 203:
 
chmod +x /etc/init.d/php-fastcgi
 
chmod +x /etc/init.d/php-fastcgi
 
/etc/init.d/php-fastcgi start
 
/etc/init.d/php-fastcgi start
update-rc.d php-fastcgi defaults</pre>
+
update-rc.d php-fastcgi defaults
  
 
Необходимо изменить файл конфигурации виртуального хоста Nginx по примеру указанному ниже:
 
Необходимо изменить файл конфигурации виртуального хоста Nginx по примеру указанному ниже:
  
<pre>server {
+
server {
 
     listen  80;
 
     listen  80;
 
     server_name www.clodo.com clodo.com;
 
     server_name www.clodo.com clodo.com;
Строка 224: Строка 224:
 
         fastcgi_param  SCRIPT_FILENAME  /srv/www/clodo.com/public_html$fastcgi_script_name;
 
         fastcgi_param  SCRIPT_FILENAME  /srv/www/clodo.com/public_html$fastcgi_script_name;
 
     }
 
     }
}</pre>
+
}
  
 
Такая конфигурация гарантирует, что все ресурсы, имеющие расширение .php, будут обработаны с помощью FastCGI. Когда вы завершили изменения в конфигурации, убедитесь, что виртуальный хост включен и выполните следующую команду, чтобы перезапустить веб-сервер:
 
Такая конфигурация гарантирует, что все ресурсы, имеющие расширение .php, будут обработаны с помощью FastCGI. Когда вы завершили изменения в конфигурации, убедитесь, что виртуальный хост включен и выполните следующую команду, чтобы перезапустить веб-сервер:
  
<pre>/etc/init.d/nginx restart</pre>
+
/etc/init.d/nginx restart
  
 
Теперь на нашем веб-сервере работают php-скрипты.
 
Теперь на нашем веб-сервере работают php-скрипты.
 
+
Установка и настройка сервера баз данных MySQL
 
 
'''Установка и настройка сервера баз данных MySQL'''
 
  
 
MySQL - система управления базами данных (СУБД) очень популярная в веб-разработке. MySQL используется для хранения данных для многих популярных веб-приложений.
 
MySQL - система управления базами данных (СУБД) очень популярная в веб-разработке. MySQL используется для хранения данных для многих популярных веб-приложений.
 
+
Установка MySQL
 
 
'''Установка MySQL'''
 
  
 
Первым шагом является установка MySQL-сервера с поддержкой PHP, для этого необходимо выполнить следующую команду:
 
Первым шагом является установка MySQL-сервера с поддержкой PHP, для этого необходимо выполнить следующую команду:
  
<pre>apt-get install mysql-server php5-mysql</pre>
+
apt-get install mysql-server php5-mysql
  
 
Во время установки вам будет предложено ввести пароль. Введенный пароль вы сможете изменить позже.
 
Во время установки вам будет предложено ввести пароль. Введенный пароль вы сможете изменить позже.
Строка 251: Строка 247:
 
После установки MySQL, рекомендуется использовать mysql_secure_installation, эта программа поможет вам настроить безопасность в MySQL. Во время работы mysql_secure_installation, вам будет представлена возможность изменить пароль MySQL для root пользователя (по умолчанию он не установлен), удалить анонимные учетные записи пользователей и удалить тестовые базы данных. На все предложения запущенной программы рекомендуется, чтобы вы ответили "да" на все предложенные параметры. Если вам будет предложено перезагрузить таблицы привилегий, выберите "да". Выполните следующую команду, чтобы запустить программу:
 
После установки MySQL, рекомендуется использовать mysql_secure_installation, эта программа поможет вам настроить безопасность в MySQL. Во время работы mysql_secure_installation, вам будет представлена возможность изменить пароль MySQL для root пользователя (по умолчанию он не установлен), удалить анонимные учетные записи пользователей и удалить тестовые базы данных. На все предложения запущенной программы рекомендуется, чтобы вы ответили "да" на все предложенные параметры. Если вам будет предложено перезагрузить таблицы привилегий, выберите "да". Выполните следующую команду, чтобы запустить программу:
  
<pre>mysql_secure_installation</pre>
+
mysql_secure_installation
  
 
Далее, мы создадим базу данных и предоставим пользователям разрешений на использование баз данных. Для этого необходимо войти в MySQL:
 
Далее, мы создадим базу данных и предоставим пользователям разрешений на использование баз данных. Для этого необходимо войти в MySQL:
  
<pre>mysql -u root -p</pre>
+
mysql -u root -p
  
 
После того как вы введете пароль root пользователя MySQL, вы сможете начать взаимодействие с MySQL сервером.
 
После того как вы введете пароль root пользователя MySQL, вы сможете начать взаимодействие с MySQL сервером.
Строка 261: Строка 257:
 
Для создания базы данных и предоставления пользователям привилегий, введите следующую команду. Обратите внимание, двоеточие (;) в конце линии означает завершение вводы команды. Команда должна выглядеть следующим образом:
 
Для создания базы данных и предоставления пользователям привилегий, введите следующую команду. Обратите внимание, двоеточие (;) в конце линии означает завершение вводы команды. Команда должна выглядеть следующим образом:
  
<pre>create database test;
+
create database test;
grant all on test.* to ’user’ identified by ’12345’;</pre>
+
grant all on test.* to ’user’ identified by ’12345’;
  
 
В приведенном выше примере, test это имя базы данных, user - имя пользователя c паролем 12345. Обратите внимание, что база данных имен пользователей и паролей используются только подключения к базе данных. Использование этой базы не обязательно.
 
В приведенном выше примере, test это имя базы данных, user - имя пользователя c паролем 12345. Обратите внимание, что база данных имен пользователей и паролей используются только подключения к базе данных. Использование этой базы не обязательно.
Строка 268: Строка 264:
 
Мы завершили настройку MySQL и теперь вы можете передать учетные данные базы данных пользователям. Для выхода из администрирования MySQL введите следующую команду:
 
Мы завершили настройку MySQL и теперь вы можете передать учетные данные базы данных пользователям. Для выхода из администрирования MySQL введите следующую команду:
  
<pre>quit</pre>
+
quit
  
 
Для того, чтобы PHP смогут получить доступ к MySQL, необходимо перезапустить PHP следующей командой:
 
Для того, чтобы PHP смогут получить доступ к MySQL, необходимо перезапустить PHP следующей командой:
  
<pre>/etc/init.d/php-fastcgi restart</pre>
+
/etc/init.d/php-fastcgi restart
  
 
Поздравляем! Вы создали веб-сервер Nginx+PHP+FastCGI+MySQL!
 
Поздравляем! Вы создали веб-сервер Nginx+PHP+FastCGI+MySQL!

Пожалуйста, учтите, что любой ваш вклад в проект «ЗАметки» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. ЗАметки:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!