Данный способ уже несколько лет использую на .deb-based дистрибутивах. Ранее веб-сервер был установлен и отлично работал на Debian, Mint, Ubuntu, LMDE (с некоторыми поправками) и сейчас работает на elementaryOS.
Итак, начнем.
Заранее предполагаем, что наш сайт должен быть доступен по адресу mysite.zz, а папка с файлами сайта расположена по пути /home/user/server/mysite.zz.
1. Установка необходимых пакетов
Вводим в терминале
sudo apt-get install apache2 mysql-server php5 phpmyadmin
При установке пакетов нам будет необходимо выполнить их предварительную настройку в псевдографическом режиме терминала.
В первом окне нам предлагают ввести пароль для MySQL пользователя «root». Вводим пароль и подтверждаем его:


Далее идет настройка phpmyadmin.
Здесь нас спросят, какой веб-сервер использовать для запуска phpmyadmin. Отмечаем apache2 клавишей пробела и жмем enter:

На следующем экране читаем некоторую информацию и жмем enter

Далее подтверждаем настройку базы при помощи dbconfig-common:

Вводим введенный выше пароль в


2. Проверка работы сервера и phpmyadmin
Переходим в любом браузере по адресу localhost. Если сервер нормально установлен, то мы должны увидеть тестовую страницу сервера:

Для доступа к phpmyadmin переходим по ссылке localhost/phpmyadmin. Вводим логин «root» и пароль, введенный ранее:

Там же можно изменить язык интерфейса phpmyadmin.
Если все сделано верно, то мы перейдем к управлению нашими базами:

3. Настройка сервера
Создаем ссылку на phpmyadmin в /var/www
sudo ln -s /etc/phpmyadmin /var/www
Открываем конфигурационный файл сервера:
sudo scratch-text-editor /etc/apache2/apache2.conf
и добавляем в конец файла строчку:
ServerName localhost:80

4. Добавление нашего сайта
Открываем файл hosts для добавления нашего сайта:
sudo scratch-text-editor /etc/hosts
и добавляем в файл строчку
127.0.1.1 mysite.zz

Создаем в любой папке конфигурационный файл сайта с названием «mysite.zz» с содержанием
<VirtualHost *:80> ServerAlias mysite.zz www.mysite.zz DocumentRoot /home/user/server/mysite.zz <Directory home/user/server/mysite.zz/> AllowOverride All </Directory> </VirtualHost>
и копируем его с правами суперпользователя в /etc/apache2/sites-available
sudo cp полный_путь_к_файлу /etc/apache2/sites-available/
Активируем наш сайт:
sudo a2ensite mysite.zz
Активируем модуль mod-rewrite (необходим для реализации ЧПУ):
sudo a2enmod rewrite
И перезапускаем сервер:
sudo /etc/init.d/apache2 restart
5. Проверка работы нашего сайта
Создаем файл index.php в папке нашего сайта (/home/user/server/mysite.zz), например, с таким содержанием:
<? echo 'hello!))'; ?>
Далее в любом браузере переходим по адресу mysite.zz

Если мы видим нашу страничку, то все сделали верно.
6. Возможные проблемы
Phpmyadmin не доступен по адресу localhost/phpmyadmin
Для исправления этой ошибки необходимо переконфигурировать phpmyadmin
sudo dpkg-reconfigure phpmyadmin
Следующие проблемы мной наблюдались только в LMDE. Но не исключено, что могут встретиться в других дистрибутивах.
Доступ к нашему сайту может быть запрещен сервером
Для исправления этой проблемы к имени конфигурационного файла нашего сайта в /etc/apache2/sites-available необходимо добавить расширение .conf
mysite.zz.conf
содержание файла должно быть отредактировано следующим образом
<VirtualHost *:80> ServerAlias mysite.zz www.mysite.zz DocumentRoot /home/user/server/mysite.zz <Directory home/user/server/mysite.zz/> AllowOverride All Require all granted </Directory> </VirtualHost>
А активация сайта должна производиться по имени конфига
sudo a2ensite mysite.zz.conf
Не определяется логин и пароль при входе в phpmyadmin
Для исправления этой ошибки внесем некоторые изменения в конфигурационный файл phpmyadmin.
Открываем его
sudo scratch-text-editor /etc/phpmyadmin/config.inc.php
и добавляем следующие строчки
$dbuser = 'root'; $dbpass = 'kenny';
после строк
$cfg['Servers'][$i]['controluser'] = $dbuser; $cfg['Servers'][$i]['controlpass'] = $dbpass;
Теперь phpmyadmin должен распознать наш логин и пароль.
Дополнение
В данной статье не было рассмотрено подключение проекта к базе данных. Вариантов подключения очень много как в процедурном PHP, так и в объектно-ориентированном. Единственное, что могу сказать по этому поводу, это то, что при любой реализации подключения к определенной базе необходимо будет использовать пользователя «root» и пароль, который мы указывали при настройке пакетов при их установке.
Также не была рассмотрена установка почтового севера, так как это уже тема отдельной статьи. Доступно множество почтовых серверов в репозиториях любых дистрибутивов, и каждый со своими ньюансами.
И в заключение отмечу, что настройки конфигурационный файл PHP php.ini находится в директории /etc/php5/apache2/.
Удачных Вам проектов и чистого кода!
ссылка на оригинал статьи http://habrahabr.ru/post/220181/
Добавить комментарий