Мое знакомство с Web-сервером Lighttpd

Posted by

Мое знакомство на системе Ubuntu Trusty с еще одним Webсервисом на базе приложения , хотя до момента как я приступил к разбору lighttpd мне больше подходил apache2, а nginx у меня не всегда получается завести (приходится прибегать к заметкам опубликованным на блоге где у меня удалось запустить его), то может этот Webсервис станет для меня еще одной палочкой выручалочкой для моих проектов. Да и не лишним будет узнать что-то новое. Новое это не всегда плохо, все лишь инструменты для решения задачи, а чем они разнообразнее, тем продуктивнее они могут оказаться.

И так начну пожалуй, как всегда, все дальнейшие действия построены на .5 Server amd64.

ekzorchik@srv-host:~$ sudo rm -Rf /var/lib/apt/lists/

ekzorchik@srv-host:~$ sudo apt-get update && sudo apt-get upgrade -y

ekzorchik@srv-host:~$ uname -a && lsb_release -a

Linux srv-host 4.4.0-51-generic #72~14.04.1-Ubuntu SMP Thu Nov 24 19:22:30 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 14.04.5 LTS

Release: 14.04

Codename: trusty

ekzorchik@srv-host:~$ apt-cache show lighttpd | grep Version

Version: 1.4.33-1+nmu2ubuntu2

ekzorchik@srv-host:~$ sudo apt-get install lighttpd -y

ekzorchik@srv-host:~$ ip r

default via 192.168.1.9 dev eth0

192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.153

Открываю браузер и обращаюсь к адресу текущей системы Ubuntu Trusty На которой я разбираю работу Webсервиса lighttpd по порту 80:

Lighttpd успешно установлен на Ubuntu Trusty

Как видно, Web-сервис поднимается быстро, на дефолтной странице кратко описано что нужно для того чтобы отредактировать конфигурационный файл: /etc/lighttpd, где корневая дефолтная директория: /var/www, как включить модули, где располагаются log файлы и т. д.

Т.к. Lighttpd в своей работе использует PHP то установлю данные пакеты к себе на систему, хотя можно и не ставить более новую версию, а прекрасно использовать дефолтную пятую.

ekzorchik@srv-host:~$ sudo apt-get install php7.1-cgi php7.1-mysql

после чего включаю PHP модули:

ekzorchik@srv-host:~$ sudo lighty-enable-mod fastcgi

ekzorchik@srv-host:~$ sudo lighty-enable-mod fastcgi-php

Для активации включенных модулей следует перезапустить Lighttpd сервис:

ekzorchik@srv-host:~$ sudo service lighttpd force-reload

* Reloading web server configuration lighttpd [fail]

, но почему не все так хорошо, что ж смотрим логи:

ekzorchik@srv-host:~$ sudo tail -f /var/log/lighttpd/error.log

2016-12-18 03:15:36: (log.c.166) server started

2016-12-18 03:26:53: (server.c.1558) server stopped by UID = 0 PID = 3338

ekzorchik@srv-host:~$ sudo service lighttpd status

* lighttpd is not running

ekzorchik@srv-host:~$ sudo service lighttpd start

* Starting web server lighttpd [ OK ]

ekzorchik@srv-host:~$ sudo service lighttpd force-reload

* Reloading web server configuration lighttpd [ OK ]

Все было просто, сервис был не запущен, а как обновить изменения если он не запущен, продолжаю дальнейшее свое изучение.

Теперь можно создать тестовую php страницу и проверить как отрабатывает интерпретация php скриптов:

ekzorchik@srv-host:~$ sudo nano /var/www/info.php

<?php phpinfo();?>

ekzorchik@srv-host:~$ sudo chown -R www-data:www-data /var/www

После чего обращаюсь к URL странице Web-сервера Lighttpd: http://192.168.1.153/info.php и вывод должен быть таким:

Скрипты php успешно запускаются в LighttpdЕсли все так и есть, значит интерпретация php скриптов Web-сервером Lighttpd отрабатывает.

Теперь инсталлирую в систему приложения базы данных, я использую MySQL (мне этого пока достаточно):

ekzorchik@srv-host:~$ sudo apt-get install mysql-server php5-mysql -y

New password for the MySQL "root" user: 712mbddr@

Repeat password for the MySQL "root" user: 712mbddr@

С целью удобства управления базами данных на данной системе можно использовать приложение именуемое, как phpmyadmin:

Устанавливаем PhpMyAdmin на связку с Lighttpdekzorchik@srv-host:~$ sudo apt-get install phpmyadmin -y

Web server to reconfigure automatically: выбираю lighttpd и нажимаю клавишу «пробел»

Configure database for phpmyadmin with dbconfig-common? Yes

Password of the database’s administrative user: 712mbddr@

MySQL application password for phpmyadmin: 712mbddr@

Password confirmation: 712mbddr@

Не понятно каким образом был установлен Web-сервис apache2, удаляю его:

ekzorchik@srv-host:~$ sudo apt-get purge apache2 -y

Password of the database's administrative user: 712mbddr@

ekzorchik@srv-host:~$ sudo rm -Rf /var/www/html/

Проверяю, кто обслуживает восьмидесятый порт в системе:

ekzorchik@srv-host:~$ sudo netstat -tulpn | grep :80

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21596/lighttpd

Затем делаю символическую ссылку на дефолтный каталог Webсервера, чтобы при вызове URL адреса я мог использовать Webинтерфейс phpmyadmin, т.е http://192.168.1.153/phpmyadmin

ekzorchik@srv-host:~$ sudo ln -s /usr/share/phpmyadmin/ /var/www/

Ошибка запуска phpmyadmin: The mbstring extension is missing

а это еще что?

Просто в системе не установлены некоторые пакеты для интерпретатора PHP, что исправляю это дело.

ekzorchik@srv-host:~$ sudo apt-get install php7.1-mbstring

ekzorchik@srv-host:~$ sudo service lighttpd restart

После на странице с ошибкой нажимаю клавишу F5 и вот оно долгожданное окно авторизации в инструмент phpMyAdmin:

Окно авторизации в оснастку PhpMyAdminLanguage: English

Username: root

Password: 712mbddr@

и нажимаю Go

Ну а дальше управление внутри данной панели согласно Вашим задачам по обслуживанию, созданию, удалению баз данных и т. д.

Что же я ознакомился с установкой и исправлением ошибок если установка не задалась. Позже я покажу, как запустить сервис на основе данного Web-сервиса lighttpd. Просто и так загромождать эту заметку я не вижу практического смысла. Смысл лишь одни один шажок в изучении/разворачивании одна заметка. А пока собственно и всё, с уважением автор блога Олло Александр aka ekzorchik.