воскресенье, 17 июля 2011 г.

Установка (LAMP) Apache2 с PHP5 и MySQL на CentOS 6.0



LAMP это сокращение от Linux, Apache, MySQL и PHP.

1. Заметка

В данной статье используется имя хоста server1.example.com с IP адресом 192.168.0.100. Эти параметры у вас будут отличаться, поэтому в случае необходимости их придется заменить.

2. Установка MySQL 5.0


yum install mysql mysql-server


Затем мы создаем систему связи для MySQL (чтобы MySQL запускался автоматически):

chkconfig --levels 235 mysqld on/etc/init.d/mysqld start


Устанавливаем пароль для суперпользователя (root) MySQL:

mysql_secure_installation


[root@server1 ~]# mysql_secure_installation




NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] <-- ENTER
New password: <-- yourrootsqlpassword
Re-enter new password: <-- yourrootsqlpassword
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] <-- ENTER
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <-- ENTER
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <-- ENTER
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <-- ENTER
 ... Success!

Cleaning up...



All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!

[root@server1 ~]#


3. Установка Apache2

Apache2 доступен как пакет в CentOS, поэтому мы можем
установить его так:

yum install httpd


Теперь нужно настроить систему для запуска Apache:

chkconfig --levels 235 httpd on

И запустить:

/etc/init.d/httpd start

Теперь откроем браузер, введем:

http://192.168.0.100


Должны увидеть страницу:



По умолчанию корень Apache находится в /var/www/html, а конфигурационный файл в /etc/httpd/conf/httpd.conf. Дополнительные настройки хранятся в /etc/httpd/conf.d/.

4. Установка PHP5

Можно установить PHP5 и модуль для Apache следующим образом:

yum install php


Теперь нужно перезапустить Apache:

/etc/init.d/httpd restart


5. Тестируем PHP5

В корне /var/www/html создадим файл info.php:

vi /var/www/html/info.php

Вставим:
php
phpinfo();
?>


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

http://192.168.0.100/info.php




6. Включение поддержки MySQL в PHP5

Чтобы включить поддержку MySQL в PHP, нужно установить пакет php-mysql. Можно еще установить некоторые другие модули PHP5:

Выполняем поиск
yum search php

Выбираем нужное, и ставим:

yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc 
php-pear php-xml php-xmlrpc


Теперь перезапускаем Apache2:

/etc/init.d/httpd restart

Загружаем опять в браузере страницу

http://192.168.0.100/info.php 


и проверяем:



7. phpMyAdmin

PhpMyAdmin это веб-интерфейс управления базами данных MySQL.

Сначала подключите репозиторий RPMforge, потому что пакет phpMyAdmin не доступен в официальном репозитории CentOS 6.0:

Импортируйте GPG ключ:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

На x86_64 системах

yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

На i386 системах

yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

Теперь можно установить PhpMyAdmin следующим образом:

yum install phpmyadmin

Настроим PhpMyAdmin, для этого поменяем конфигурацию Apache так, чтобы у PhpMyAdmin была связь не только из localhost (закомментировав )


vi /etc/httpd/conf.d/phpmyadmin.conf


#
#  Web application to manage MySQL
#
#
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#
Alias /phpmyadmin /usr/share/phpmyadminAlias /phpMyAdmin /usr/share/phpmyadminAlias  
/mysqladmin /usr/share/phpmyadmin


Далее изменяем аутентификацию в PhpMyAdmin с cookie на http:

vi /usr/share/phpmyadmin/config.inc.php

[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Перезагружаем Apache:

/etc/init.d/httpd restart

Теперь phpMyAdmin доступен по адресу:
http://192.168.0.100/phpmyadmin/