Налаштовую для себе робоче середовище для веб-розробки
Apache
# yum install httpd
# chkconfig httpd on
# service httpd start
Зайшовши на http://localhost, бачимо веб-сторінку.
Конфігураційний файл знаходиться в /etc/httpd/conf/httpd.conf
MySQL
# yum install mysql-server
# chkconfig mysqld on
# service mysqld start
# /usr/bin/mysql_secure_installation
Скрипт, вказаний в останньому рядку
- задає новий root-овий пароль (на початку питає поточний пароль, оскільки сервер щойно встановлений, то треба вказати пустий)
- прибирає анонімний доступ
- прибирає віддалений доступ для root’а
- видаляє базу даних test
Можна налаштувати і вручну, файл конфігурації /etc/my.cnf
PHP (встановлюємо як модуль Apache)
# yum install php php-mysql
Також встановлюємо модулі, які треба
# yum install php-common php-mbstring php-mcrypt php-devel php-xml php-gd
Файл конфігурації /etc/php.ini
Прописую в ньому шлях до потрібних мені бібліотек
include_path = ".:/usr/share/php:/usr/share/pear:/home/wwwlib/Smarty-3.0.8/libs:/home/wwwlib/PHPExcel-1.7.8/Classes"
Перевіряємо. Зберігаємо код
в /var/www/html/index.php
на http://localhost, бачимо інформацію.
Цілий вечір мучився, шукав, чому видається помилка
Parse Error: syntax error, unexpected $end in ….. scripts.php on line …
Виявляється, через те, що використовуються короткі відкриваючі теги PHP
=$sometext?>
Треба дозволити їх у файлі конфігурації
short_open_tag = On
phpMyAdmin
# yum install phpmyadmin
У файлі /etc/share/phpmyadmin/config.inc.php треба прописати сіль для куків.
$cfg['blowfish_secret'] = 'Enter the salt here'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Віртуальні хости
Для розробки мені зручно, щоб віртуальні хости працювали під логіном sashko.
Щоб змінити логін, з яким працює віртуальний хост, необхідно встановити модуль mpm-itk
# wget http://www.brancaleoni.com/repos/centos/6/x86_64/httpd-itk-2.2.15-15.el6.1.x86_64.rpm
# rpm -ivh httpd-itk-2.2.15-15.el6.1.x86_64.rpm
# service httpd stop
У файл /etc/sysconfig/httpd дописуємо
HTTPD=/usr/sbin/httpd.itk
У файл /etc/httpd/conf.d/php.conf дописуємо
LoadModule php5_module modules/libphp5.so
Основний конфігураційний файл apache змінювати не будемо, а доповнимо його, адже опрацьовуються також файли з директорії /etc/httpd/conf.d/*.conf, це задано в основному файлі:
Include conf.d/*.conf
Отож, створюємо файл /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80
ServerAdmin [email protected]
DocumentRoot /var/www/html
ServerName localhost
ServerAlias localhost
ErrorLog logs/error_log
CustomLog logs/access_log combined
AssignUserId sashko sashko
AllowOverride All
AddType text/css css
AddType application/javascript js
ServerAdmin webmaster@localhost
DocumentRoot /home/sites/test
ServerName test.localhost
ServerAlias test.localhost
Options Includes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ErrorLog /home/sites/test/log/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/sites/test/log/access.log combined
Без рядків
AddType text/css css
AddType application/javascript js
Браузер не опрацьовує стилів і скриптів, бачу таке вперше :)
Ротація логів
Для того, щоб журнали apache не розросталися до великих розмірів, треба додати журнали віртуальних хостів до налаштувань logrotate.
Встановлюємо logrotate, якщо він ще не встановлений:
# yum install logrotate
Створюємо файл /etc/logrotate.d/vhosts приблизно такого змісту
/home/sites/*/log/access.log {
daily
rotate 2
missingok
notifempty
sharedscripts
delaycompress
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
/home/sites/*/log/error.log {
weekly
rotate 2
missingok
notifempty
sharedscripts
delaycompress
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}