Сразу делаю оговорку. Это не для тех случаев, когда нужно организовать профессиональный хостинг. Для ситуаций попроще – изучение, разработка сайтов, веб-сервер для домашней или офисной сети.
Все делается очень просто и очень быстро. Никакой возни с настройками и курения манов.
Указанные ниже пакеты берутся строго из репозитария. Никакой отсебятины в виде установки из исходников с каких-то левых сайтов. Проверено на дистрибутиве 8.10, но должно работать и на ранних, ну как минимум на 8.04 должно.
1. Установить пакет mysql (либо мета пакет mysql, либо сразу пакет mysql-dfsg-5.0). Но можно этот шаг пропустить, поскольку при установке phpmyadmin будет установлен mysql, если его нет.
2. Установить пакет phpmyadmin. Почему именно его? Убиваем сразу двух зайцев – устанавливается apache уже с поддержкой php, и получаем хороший графический интерфейс для управления базами mysql.
3. Создать единую папку для всех сайтов, которые будут там размещаться, например /home/user/www. Лучшее место для такой папки это домашний каталог пользователя.
Почему именно туда? Это позволит работать с файлами сайтов (добавлять, удалять, изменять) не заморачиваясь с sudo или gksu.
4. Далее в этой папке создать папку сайта. Например, /home/user/www/site1. И в эту папку кинуть файлы сайта.
5. sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site1
Команда создает новую запись виртуального хостинга копируя стандартную запись апаша.
6. sudo gedit /etc/apache2/sites-available/site1
и в этом файле:
1) заменить все /var/www/ на /home/user/www/site1/
2) перед строкой "DocumentRoot /home/user/www/site1/" добавить строку "ServerName site1"
То есть должно быть так:
ServerName site1
DocumentRoot /home/user/www/site1/
7. sudo a2ensite site1
8. sudo gedit /etc/hosts
и в этом файле добавить строку
127.0.1.2 site1
9. sudo /etc/init.d/apache2 reload
Готово. Новый сайт должен открываться по
http://site1Если нужно добавить еще сайт, просто повторяются шаги 4-9. Конечно с поправкой на то, что новый сайт не может иметь имя site1 и это должно быть site2 или что-то другое. Ну и в файле hosts увеличивать значение ip адреса - 127.0.1.3 и т.д.
Примерно за 20 минут получаем веб-сервер с поддержкой ssi, php и mysql. Ну, это конечно, если есть быстрый интернет или dvd диски с репозитариями. Если такового нет, тогда конечно придется где-то скачивать все эти пакеты, а это больше 60 мб. Пакеты apache2 и mysql-dfsg-5.0 есть на установочном dvd диске. А пакет phpmyadmin либо на диске «dvd 4» репозитариев, либо качать с packages.ubuntu.com.
*! Примечание относительно phpmyadmin.
Он запускается по адресу
http://localhost/phpmyadminНо можно переделать на
http://phpmyadmin, нужно выполнить шаги 5-9 только в шаге 6 использовать путь к папке phpmyadmin и соответственно использовать имя phpmyadmin где нужно.
*! Примечание относительно php.
По умолчанию параметр register_globals в настройках php отключен, а это значит, что переменные передаваемые в скрипты php через GET, POST будут пустыми (неопределенными).
Исправить эту ситуацию можно двумя путями.
1) sudo gedit /etc/php5/apache2/php.ini
и там изменить register_globals=off на register_globals=on.
2) Но лучше изменить подход к написанию скриптов и:
непосредственно в них инициализировать передаваемые переменные из массивов $_GET[], $_POST[] или $HTTP_GET_VARS[],$HTTP_POST_VARS[].