Настройка веб-сайта

Данная статья предназначена для людей имеющих начальное представление о командной строке и базовых командах Linux. Так-же предполагается, что вы уже установили ОС Raspbian на ваш Raspberry Pi, прошли первоначальную настройку и загрузились.

Итак, у вас появилось желание запустить свой личный сайт на просторах Интернета. Есть большой выбор в возможностях, от регистрации на каких-либо бесплатных (и не очень) интернет-сервисах или запустить всю эту «канитель» у себя дома на своем железе. Плюсов и минусов хватает. Из минусов, отмечу следующее:

Во-первых, вы сами должны побеспокоиться о безопасном хранении данных и бесперебойной работы вашего сайта.

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

Плюсов тоже хватает:

Во-первых, вашими данными владеете вы и контролируете только вы. Хватит делиться личной информацией с «Большим Сэмом»! 🙂

Во-вторых, но не по значимости, но вы приобретаете отличный опыт в новых для себя интернет-технологиях.

В третьих, вашим сайтом управляете только вы и только вы можете принять решение об его удалении. Печальный опыт, например закрытие блогов на Яндексе. Когда в течении нескольких лет у вас была страничка с кучей полезной для вас информации и вот в один «прекрасный» день вы видите это: sereda.ya.ru

И в четвертых, пройдя через все трудности, вы получите несравнимое моральное удовольствие от осознания того, что все работает как надо, и вы это сделали сами, своими руками.

Что у нас будет, по окончании серии статей:

  • веб-сайт на базе WordPress

  • облачное хранилище на базе ownCloud

  • система мониторинга состояния сервера на базе Cacti

Ну хватит предисловий, начинаем! Для примера, запустим сайт на базе бесплатного движка WordPress. В принципе, вы можете выбрать любой другой двигатель вашего сайта. Но в любом случае, вам необходимо поставить связку из трех программ: веб-сервера Apache2, языка веб-программирования PHP5 и базы данных MySQL (в нашем примере). Еще мы установим phpmyadmin, это веб-интерфейс базы данных, который позволит нам управлять нашими базами. Итак, запускаем терминал и входим с правами root. Далее «сорим» в терминале командами. Если вы их не до конца понимаете, ничего, терминал их поймет, а для вас я сделал небольшие комментарии:

Установка Apache2

apt-get install apache2

Установка и привязка PHP5

apt-get install php5 libapache2-mod-php5

apt-get install php-apc

service apache2 restart

Установка и настройка MySQL и phpmyadmin

apt-get install mysql-server mysql-client php5-mysql

service apache2 restart

apt-get install phpmyadmin

После установки, у нас есть рабочий каталог /usr/share/phpmyadmin доступ к которому необходимо закрыть для внешних ip-адресов. Делается это путем добавления в конфигурационный файл /etc/apache2/sites-enable/@000-default следующего текстового блока:

<Directory /usr/share/phpmyadmin>

Order deny,allow

Deny from all

Allow from 192.168.1.0/24

</Directory>

192.168.1.0/24 — это моя локальная сеть. Т.е. доступ к phpmyadmin будет разрешена только локально. Перезапускаем Apache2 для того, чтобы настройки вступили в силу: service apache2 restart

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

mysqladmin -u root -pтекущийпароль password ‘новыйпароль’

Запускаем phpmyadmin в браузере http://localhost/phpmyadmin Его интерфейс на русском языке, так что вам не составит труда создать новую БД для сайта на wordpress-е, назовем её homesite. Далее надо установить сам движек WordPress.

Установка WordPress

cd ../var/www

Скачиваем архив:

wget https://ru.wordpress.org/wordpress-4.2.2-ru_RU.tar.gz

Распаковываем его

tar -xzvf wordpress-4.2.2-ru_RU.tar.gz

Сайт распаковался в отдельную папку, путь к которой /var/www/wordpress. Зайдите в нее и переименуйте файл wp-config-sample.php файл в wp-config.php. Откройте wp-config.php в вашем любимом текстовом редакторе и впишите в него настройки подключения к базе данных (имя нашей созданной базы данных homesite и имя-пароль для MySQL). И добавьте в конце файла новую строку, чтобы WordPress при обновлениях не использовал FTP, если есть такая необходимость: define(‘FS_METHOD’, ‘direct’);

Установим права на папку, где лежит наш сайт:

chown -R www-data:www-data /var/www

Запускаем наш сайт в браузере http://localhost/wordpress

Заходим в админку сайта. Я рекомендую сразу установить и активировать следующие плагины:

UpdraftPlus — создание резервной копии и восстановление из нее сайта целиком, со всеми его оформлениями, фичами и наворотами. Интерфейс плагина на русском языке. Может делать бэкап по расписанию на ваш ftp-сервер, например.

wSecure — дополнительная защита для входа в админку. Интерфейс на русском языке.

Так-же в целях безопасности, хорошо бы включить поддержку .htaccess в Apache2. Для этого в любом, какой вам нравиться, текстовом редакторе открываем файл

/etc/apache2/sites-available/000-default.conf

находим в нем блок текста и дописываем, то что я выделил жирным шрифтом

<VirtualHost *:80>
….
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory /var/www/>
          AllowOverride All
</Directory>
….
<\VirtualHost>

После сохранения текста, перезапускаем Apache2

service apache2 restart

Готово! У нас есть свой сайт!

В следующей статье, мы установим и заставим работать наше облачное хранилище ownCloud и настроим систему мониторинга Cacti как на моём сайте.