Установка Apache, PHP, MySQL на Ubuntu 11.10 и автоматическое добавление локальных хостов
Invite pending
Как бы вам не показалась часто встречающейся тема установки и настройки Apache, PHP, MySQL, но все равно хочется к ней вернутся чтоб добавить автоматическое создания локальных хостов. И так приступим.
Установка apache:
Проверить работу нашего сервера очень просто, перейдем по адресу в браузере localhost и увидем заветную надпись — It works! Но не спешите радоваться это только начало.
Продолжаем, установим php:
Установка MySQL сервера:
При установке необходимо ввести пароль для root пользователя MySQL.
Установка phpmyadmin:
Необходимо выбрать сервер, конечно же Apache, затем пароль пользователя базы данных MySQL и пароль для самого phpmyadmin.
Что бы все изменения вступили в силу, перезапустим сервер:
Проверить работу можно по ссылке localhost/phpmyadmin
Теперь возьмёмся за конфигурацию локального хоста для наших сайтов. В подобных статьях описано долгое и нудные настройки для каждого сайта: копирование, редактирование, включение, перезапуск, но мы попытаемся автоматизировать весь этот процесс. Автоматическое создание виртуальных хостов, для этого мы используем модуль mod-macro. Этот модуль позволяет определить и использовать для конфигурации макросы в Apache.
Устанавливаем mod-macro:
И включаем:
Создаем файл для макроса (шаблона) виртуального хоста:
Вставляем туда следующий код:
Напишем скрипт для запуска макроса и добавление хоста, создадим файл:
в него добавим:
делаем файл исполняемым:
И создания хоста:
Сделаем тест для нашего сайта, напишем:
в созданном файле:
Осталось запустить наш браузере — test.loc, если вы на экране увидели информацию об установленном php. Ура все работает! Приятной работы!
Установка apache:
sudo apt-get install apache2 apache2-mpm-prefork apache2-utils apache2-suexec
Проверить работу нашего сервера очень просто, перейдем по адресу в браузере localhost и увидем заветную надпись — It works! Но не спешите радоваться это только начало.
Продолжаем, установим php:
sudo apt-get install php5 php5-mysql libapache2-mod-php5 php-pear
Установка MySQL сервера:
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
При установке необходимо ввести пароль для root пользователя MySQL.
Установка phpmyadmin:
sudo apt-get install phpmyadmin
Необходимо выбрать сервер, конечно же Apache, затем пароль пользователя базы данных MySQL и пароль для самого phpmyadmin.
Что бы все изменения вступили в силу, перезапустим сервер:
sudo service apache2 restart
Проверить работу можно по ссылке localhost/phpmyadmin
Теперь возьмёмся за конфигурацию локального хоста для наших сайтов. В подобных статьях описано долгое и нудные настройки для каждого сайта: копирование, редактирование, включение, перезапуск, но мы попытаемся автоматизировать весь этот процесс. Автоматическое создание виртуальных хостов, для этого мы используем модуль mod-macro. Этот модуль позволяет определить и использовать для конфигурации макросы в Apache.
Устанавливаем mod-macro:
sudo apt-get install libapache2-mod-macro
И включаем:
sudo a2enmod macro
Создаем файл для макроса (шаблона) виртуального хоста:
sudo mkdir /etc/apache2/conf.d/custom
sudo vim /etc/apache2/conf.d/custom/vhosts
Вставляем туда следующий код:
<Macro VHost $host $path>
<VirtualHost *:80>
DocumentRoot "$path"
ServerAdmin vanya@localhost
ServerName $host
ServerAlias www.$host
DirectoryIndex index.php index.html index.htm index.shtml
<Directory "$path">
Options FollowSymLinks
Options all
AllowOverride All
</Directory>
</VirtualHost>
</Macro>
Напишем скрипт для запуска макроса и добавление хоста, создадим файл:
sudo vim /bin/addvhosts
в него добавим:
#!/bin/bash
if [ x$1 = x"" ]; then
echo "please enter: host-name [macros-name]";
exit 0;
fi
host="$1.loc"
dir="$1"
macros="$2"
if [ x$macros = x"" ]; then
macros="VHost"
fi
mkdir -p /home/www-data/www/$dir
chown -R www-data /home/www-data/www/$dir
chmod -R 0777 /home/www-data/www/$dir
echo "Use $macros $host /home/www-data/www/$dir" >> /etc/apache2/conf.d/custom/vhosts
echo "127.0.0.1 $host www.$host" >> /etc/hosts
cd /home/www-data/www/$dir
apache2ctl configtest && apache2ctl graceful
делаем файл исполняемым:
sudo chmod +x /bin/addvhosts
И создания хоста:
sudo addvhosts test
Сделаем тест для нашего сайта, напишем:
<?php
phpinfo();
?>
в созданном файле:
vim /home/www-data/www/test/index.php
Осталось запустить наш браузере — test.loc, если вы на экране увидели информацию об установленном php. Ура все работает! Приятной работы!