Тема: Статья Web Server метод 2
Показать сообщение отдельно
Старый 06.01.2011, 13:32 Вверх   #1
Жудчайший Тип
 
Аватар для Kernet
Kernet вне форума
Доп. информация
По умолчанию Web Server метод 2

И так да не возбранится на меня уважаемый Serberg, но я напишу более подробную статейку по настройке связке на убунте.

Настройка Apache

Установим apache:

Код:
sudo apt-get install apache2
По сути, апач готов :) [http://localhost/ или http://127.0.0.1], но апача нам будет маловато

Настройка Apache.

Для начала, давайте найдем пространство для файлов. У меня это пространство на отдельном диске /www чего и Вам желаю.

Пока что можно просто создать директорию в корне (о том как примонтировать диск, кому надо - тот знает как это делается):

Код:
sudo mkdir /www
Дадим права 777 на наш вэб спейс:

Код:
sudo chmod 777 /www
Теперь поменяем владельца с root на основного пользователя:

Код:
sudo chown user /www
Где user - это логин Вашего основного пользователя.

Наш сервер будет работать с виртуальными хостами. По этому, структура файлов будет такой:

/www
site.local/
log/
sess/
tmp/
www/
site2.local/
log/
sess/
tmp/
www/
/www будут директории с именем домена.
Я настаиваю на имени домена первого уровня .local, о нем, к сожалению, сейчас забыли, но он создавался именно для таких целей, для локальных ресурсов. Некоторые используют другие: .home - чепуха, .dev - чепуха, .int - от internal, хотя .int это реальный домен первого уровня для международных internatioanal организаций.
log/ - логи apache, php для этого домена.
sess/ - файлы сессий этого хоста.
tmp/ - временная директория.
www/ - файлы сайта. Создание виртуального хоста


Создадим структуру файлов(имя хоста будет global.local т.к. этот хост будет у меня доступен глобально):

mkdir /www/global.local
mkdir /www/global.local/log
mkdir /www/global.local/sess
mkdir /www/global.local/tmp
mkdir /www/global.local/www

Установим права 777 на все эти директории:

Код:
chmod 777 -R /www/global.local
Теперь настроим виртуальные хосты. Удалим всё из директорий /etc/apache2/sites-available/ и /etc/apache2/sites-enabled/ :

Код:
sudo rm /etc/apache2/sites-available/* 
sudo rm /etc/apache2/sites-enabled/*
Теперь создадим конфиг виртуального хоста:

Код:
sudo gedit /etc/apache2/sites-enabled/global.local
Где global.local название хоста. Это не обязательно, но очень удобно. Каждому хосту - свой файл с конфигом.

В файл пишем конфиг:


Код:
<VirtualHost *:80> 
    DocumentRoot /www/global.local/www 

    ServerName global.local 
    ServerAlias www.global.local 
    ServerAdmin webmaster@global.local 

    ErrorLog /www/global.local/log/apache_error.log 
    CustomLog /www/global.local/log/apache_access.log common 

    <Directory /www/global.local/www> 
        Options FollowSymLinks 
        Options +Indexes 
        AllowOverride All 
        Order allow,deny 
        Allow from all 
    </Directory> 

#    php_admin_value upload_tmp_dir /www/global.local/tmp 
#    php_admin_value error_log /www/global.local/log/php.log 
#    php_admin_value session.save_path /www/global.local/sess 
</VirtualHost>
Надеюсь, что конфиг и так ясен, подробности можно узнать в интрнетах (3 закомментированные строки - настройки php их мы раскомментируем, когда поставим php).

Теперь создадим ссылку на этот файл в другой директории:

Код:
sudo ln /etc/apache2/sites-enabled/global.local /etc/apache2/sites-available/global.local
Обновим hosts во всех необходимых компьютерах(ведь у нас нет локально DNS, пока). На сервере выполним:

Код:
sudo gedit /etc/hosts
Добавим туда:

Код:
127.0.0.1 global.local www.global.local
Ну, а если захотите с другой машины заходить по www.global.local на нужный сайт, добавьте в хосты ту же запись, только IP поправьте.

Установим mod_rewrite:

Код:
sudo a2enmod rewrite
Последнее, что мы сделаем - укажем ServerName в apache2.conf:

Код:
sudo gedit /etc/apache2/apache2.conf
Примерно на 200й строке перед Include /etc/apache2/mods-enabled/*.load вставимServerName 127.0.0.1 (на самом деле, не имеет особого значения, где именно вы это укажите).

Перезапустим апач для вступления в силу изменений.

Код:
sudo /etc/init.d/apache2 restart
Открываем [http://www.global.local/|http://www.global.local].
На этом настройка apache закончена.

Настройка PHP

Установим php:

Код:
sudo apt-get install php5
Теперь расскоментируем 3 строки в /etc/apache2/sites-enabled/global.local:

Код:
sudo gedit /etc/apache2/sites-enabled/global.local
Просто удалите # вначале каждой из 3х строк.

Создадим info.php:

Код:
gedit /www/global.local/www/info.php
Запишем туда:


<?php
phpinfo();
Откройте [http://global.local/info.php].

Всё, Apache + PHP настроены, теперь настроим MySQL.

Добавлено через 5 минут 50 секунд

Настройка MySQL

Установим MySQL клиент+сервер:

Код:
sudo apt-get install mysql-server mysql-client
В процессе появится окошко с предложением ввести пароль root для MySQL. Введём его.

Теперь нам нужно установить модуль PHP для работы с MySQL:

Код:
sudo apt-get install php5-mysql
Перезапустим апач:

Код:
sudo /etc/init.d/apache2 restart
Всё, Apache(mod_rewrite), PHP(PDO, mysqli), MySQL установлены. Можно работать!


З.Ы. Спасибо FreeD ибо я действительно забыл. Уважаемые администраторы! после того как Вы закончите настройку своего веб-сервера незабудте дать права на папку с сайтом в 755!

Последний раз редактировалось Kernet; 11.01.2011 в 23:58..
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.06605 секунды с 10 запросами