Налаштування LAMP на CentOS 6

Поширте інформацію:

Налаштовую для себе робоче середовище для веб-розробки

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

Треба дозволити їх у файлі конфігурації

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
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.