Вы здесь

LAMP - Настройка Apache2 + SSL + PHP5 + MySQL5 в Ubuntu Feisty

Недавно имел удовольствие настраивать LAMP сервер на убунту. Так как найти централизированного мануала(да и еще и на русском) мне не удалось, решил написать эту заметку.

Установка всего необходимого для LAMP сервера:

 

По необходимости доставляются другие php модули типа php5-gd, php5-imagick, php5-curl и другие.
Конфиг apache2 в убунту организован интересным образом. Вот листинг /etc/apache2/ :

 

В apache2.conf - основная конфигурация веб сервера.
httpd.conf - пустой, оставлен для совместимости.
mods-available/ - каталог содержащий подключаемые конфигурационные файлы апача, которые активируют тот или иной его модуль.
sites-available/ - каталог содержащий подключаемые конфигурационные файлы апача, которые активируют тот или иной виртуал хост.
Чтобы активировать модуль или виртуал хост созданы утилиты a2enmod и a2ensite.
Пример использования:

 

По сути a2enmod, a2ensite, a2dismod и a2dissite создают или удаляют символический линк конфига из sites-available/ в sites-enabled/ (mods- в случае с модулями).
Добавление virtual host:

  • Скопировать /etc/apache2/sites-available/default в /etc/apache2/sites-available/example.com
     
  • Отредактировать example.com
     
  • Создаем каталог для Document Root:
     

Настройка SSL:

  • Создание сертификата:
     
    (актуально для Feisty, в более старых релизах нужно выполнить apache2-ssl-certificate)
  • Добавить порт 443 в /etc/apache2/ports.conf
     
  • Скопировать /etc/apache2/sites-available/default в /etc/apache2/sites-available/ssl, отредактировать default таким образом:
     
    также отредактировать /etc/apache2/sites-avaible/ssl:
     
  • Добавить ssl в examle.com таким же образом как и в файле ssl, пример:
     
  • Активация модуля и сайта:
     
  • Рестарт веб сервера:
     

Настройка mysql:
Mysql после установки работоспособна без дополнительных настроек. Так как пользователь базы root без пароля, нужно задать для него пароль:
 
Проверка базы:
 
Настройка PHP: /etc/php5/apache2/php.ini, после смены настроек нужно перегрузить апач.