вторник, 18 декабря 2012 г.

Веб-сервер за 10 минут

Установка LAMP (Linux + Apache2 + MySQL + PHP)

Быстрая и простая настройка веб-сервера LAMP.
Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы.

Установка осуществляется на debian 6 squeeze 2.6.32-5-686 i686.



Символ приглашения "#" означает, что мы запускаем команду от имени суперпользователя root.

# aptitude update && aptitude upgrade

aptitude update - эта команда обновляет список пакетов.
aptitude upgrade - установка обновленных пакетов
&& - означает И. Если первая команда завершилась успешно, то переходим к выполнению следующей команды. Если же первая команда завершилась с ошибкой, то выполнение второй команды не осуществляется.

Соглашаемся с предложением установки всех необходимых пакетов, нажатием клавиши "y" и Enter.

Установка MySQL

# aptitude install mysql-server mysql-client

MySQL запросит ввести пароль пользователя root базы данных. 
И ввести пароль еще раз, для подтверждения.

Что бы подключиться к MySQL базе выполняем команду:
# mysql -u root -p 
Далее будет предложение ввести пароль, который мы указали при установке MySQL.
После чего мы попадаем в оболочку mysql-клиента.
Список доступных БД можно увидеть при помощи команды:
 mysql> SHOW DATABASES;

Крайне нежелательно использовать учетную запись root для работы со всеми БД в вашей системе, вы можете создать отдельного пользователя. Давайте это и сделаем, командой:

mysql> CREATE USER 'foo'@'localhost' IDENTIFIED BY 'bar';
где foo - имя пользователя
localhost - имя/IP сервера куда будем подключаться
bar - пароль

Однако, созданный пользователь не сможет делать ничего полезного до тех пор, пока ему не предоставить необходимые привилегии к базам данных. Например, если вы хотите дать пользователю foo полный доступ ко всем базам данных, выполните команду:
mysql> GRANT ALL PRIVILEGES ON *.* to 'foo'@'localhost';

Что бы посмотреть права доступа для пользователя, можем воспользоваться командой:
mysql> SHOW GRANTS FOR 'foo'@'localhost';


Установка apache2

# aptitude install apache2 apache2-doc
Активируем модуль:
# a2enmod userdir
Конфигурируем модуль apache userdir, конфиг которого находится в /etc/apache2/mods-enabled/userdir.conf:
# nano /etc/apache2/mods-enabled/userdir.conf
И приводим его к такому виду:
<IfModule mod_userdir.c>
    UserDir public_html
    UserDir disabled root
    <Directory /home/*/public_html>
        AllowOverride All
        Options MultiViews Indexes SymLinksIfOwnerMatch
        <Limit GET POST OPTIONS>
            Order allow,deny
            Allow from all
         </Limit>
         <LimitExcept GET POST OPTIONS>
             Order deny,allow
             Deny from all
        </LimitExcept>
    </Directory>
</IfModule>

Создадим директорию в домашней папке пользователя (не root), для этого сменим пользователя:
$ su testuser1
$ mkdir /home/testuser1/public_html
Переключимся на пользователя root:
$ su root
введем пароль суперпользователя.
# chgrp www-data /home/testuser1/public_html
И перезагрузим apache:
# service apache2 restart

Установка PHP

# aptitude install php5 php5-mysql libapache2-mod-php5

Для проверки работоспособности сервера выполняем:
# echo '<?php phpinfo(); ?>' > /var/www/test.php
И в браузере (на компьютере из сети или прямо на этом компьютере) вводим:
http://SERVERIP/test.php 
где SERVERIP - айпи адрес сервера
В браузере отобразится информация о установленном PHP.

Комментариев нет:

Отправить комментарий