VDSPlanet.ru Making the difference in VDS Hosting
Сервер на lighttpd - Lighttpd/PHP/MySQL

Материал из Wiki.VDSPlanet.ru.

Перейти к: навигация, поиск

Установится на CentOS 5 (Пакет установки minimal от VDSPlanet.ru)

  • yum install openssl - поставим так как пригодится потом.
  • wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
  • rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm
  • Устанавливаем php: yum isntall php php-devel
  • Вместе с php установится httpd, но мы его просто не трогаем и не прописываем в автозапуск.
  • yum install lighttpd
  • chkconfig --levels 235 lighttpd on - запускать при запуске системы
  • service lighttpd start / /etc/init.d/lighttpd start
  • touch /srv/www/lighttpd/index.html
  • echo "It works! Does it?" > /srv/www/lighttpd/index.html
  • Идем по IP адресу вашего сервера и видим что lighttpd работает.
  • yum install lighttpd-fastcgi php-cli
  • vi /etc/php.ini
  • В самый конец вносим: cgi.fix_pathinfo = 1
  • vi /etc/lighttpd/lighttpd.conf (Снимем знак комментария с mod_fastcgi)
  • Переходим к fastcgi module части lighttpd.conf и раскомментируем весь блок. Убеждаемся что bin-path имеет такую запись: /usr/bin/php-cgi. Именно и только php-cgi.
#### fastcgi module
## read fastcgi.txt for more info
## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
fastcgi.server             = ( ".php" =>
                              ( "localhost" =>
                                (
                                  "socket" => "/var/run/lighttpd/php-fastcgi.socket",
                                  "bin-path" => "/usr/bin/php-cgi"
                               )
                              )
                           )
  • mkdir /var/run/lighttpd/
  • chown lighttpd:lighttpd /var/run/lighttpd/
  • Найдем директории права на которые по дефолту стоят на апаче и сменим значения
find / -user apache
find / -group apache
Например дирректория: /var/lib/php/session
chown root:lighttpd /var/lib/php/session
  • service lighttpd start
  • Ставим mysql: yum install mysql mysql-server
  • chkconfig --levels 235 mysqld on - запускать при запуске системы
  • Перед запуском mysql уменьшим употребление памяти процессом. Внесите в /etc/my.cnf следующее.
#
# * Fine Tuning
#
skip-innodb
skip-bdb
key_buffer              = 16M 
max_allowed_packet      = 2M
thread_stack            = 64K
thread_cache_size       = 4
###
myisam-recover          = BACKUP
query_cache_limit       = 2M
query_cache_size        = 32M
expire_logs_days        = 10 
max_binlog_size         = 100M
  • service mysqld start
  • mysqladmin -u root password ваш mysql пароль
  • yum install ffmpeg ffmpeg-devel
  • yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
  • vi /srv/www/lighttpd/info.php и вносим туда следующее: <?php phpinfo(); ?> , а после перезапускаем lighttpd (service lighttpd restart)
  • Займемся ssl и phpmyadmin.
  • mkdir /etc/lighttpd/ssl/IP-вашего-сервера -p (Почему IP? мне так удобнее!)
  • cd /etc/lighttpd/ssl/IP-вашего-сервера
  • openssl req -new -x509 -keyout server.pem -out server.pem -days 1100 -nodes - Сертификат будет работать 1100 дней
  • chown lighttpd:lighttpd /etc/lighttpd/ssl -R
  • chmod 0600 /etc/lighttpd/ssl/IP-вашего-сервера
  • Открываем lighttpd.conf. Вносим туда:
$SERVER["socket"] == "IP-вашего-сервера:443" {
   server.document-root = "/srv/www/IP-вашего-сервера"
   ssl.engine = "enable"
   ssl.pemfile = "/etc/lighttpd/ssl/IP-вашего-сервера/server.pem"
}

  • service lighttpd restart
  • netstat -tulpn | grep :443 - Должно показать что lighttpd работает на ssl порту.
  • yum install phpmyadmin
  • ln -s /usr/share/phpmyadmin /srv/www/IP-вашего-сервера/phpmyadmin
  • Проверяем и устанавливаем права: ls -l /usr/share/phpmyadmin/config.inc.php
  • chown root:lighttpd /usr/share/phpmyadmin/config.inc.php
  • vi /usr/share/phpmyadmin/config.inc.php
  • $cfg['blowfish_secret']= 'Вставить-свою-секретную-фрузу'
  • service lighttpd restart
  • Теперь phpmyadmin для управления mysql тут: https://IP-вашего-сервера/phpmyadmin
  • Ошибки lighttpd проверяются так: lighttpd -t -f /etc/lighttpd/lighttpd.conf


Теперь можем ставить любые сайты и работать с любыми базами mysql.

Готово!