Установка Miniflux в Ubuntu 12.04
В тот момент, как появилась новость о закрытии Google Reader, во всю властвовал Feedly. Из всех предложенных вариантов он оказался самым интересным, и я просто перенес все свои подписки в данный сервис. Кстати, и сейчас я в нем не разочарован.
Но, как обычно это бывает, захотелось странного. И решил попробовать miniflux .
Есть два варианта его использования:
- Заплатить единоразово 10 евро и использовать miniflux на хостинге разработчика
- Установить miniflux на свой сервер
Проще всего, конечно, заплатить. Так как не нужно будет думать о работоспособности сервера, его оплате, не нужно будет обновлять miniflux, за этим следит сам разработчик. Но мне показалось это не интересным. Сервер-то у меня уже есть.
Буду предполагать, что на сервере еще ничего не установлено, и была только произведена базовая настройка по безопасности и обновлению системы. Приступим:
Установим nginx:
$ sudo add-apt-repository ppa:nginx/stable $ sudo apt-get update $ sudo apt-get upgrade --show-upgraded $ sudo apt-get install nginxУстановим php5:
$ sudo apt-get install php5-fpm php5-sqlite php-xml-parser php-xml-serializerНастраиваем php5 и его связку с nginx:
$ sudo vim /etc/php5/fpm/php.iniИщем строку с
date.timezone, снимаем с нее комментарий и приводим к следующему виду:date.timezone = "Europe/Moscow"Естественно, что в значении указываете свой часовой пояс. Теперь аналогичные изменения производим в файле
/etc/php5/cli/php.ini. Теперь меняем поведение php5 с прослушивания tcp-соединения на использование сокетов:$ sudo vim /etc/php5/fpm/pool.d/www.confВ этом файле ищем строку
listen = 127.0.0.1:9000, комментируем ее или просто меняем на:listen = /var/run/php5-fpm.sockОстается перезапустить php5, чтобы использовать новые настройки:
$ sudo service php5-fpm restartИ теперь остается создать новый сайт в nginx, для это выполняем следующие команды:
$ cd /etc/nginx/site-available $ sudo vim sitenameНовый файл приводим примерно к следующему виду, большинство настроек понятны из контекста:
server { listen 80; server_name sitename.ru; root /home/username/www/miniflux; index index.php; autoindex off; charset utf-8; location / { try_files $uri $uri/ =404; } access_log off; error_log /home/username/logs/miniflux/error.log; location ~ /\. { deny all; access_log off; log_not_found off; } location ~ /data { deny all; access_log off; log_not_found off; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }Теперь создаем используемые в конфигурации директории:
$ mkdir -p ~/www/miniflux ~/logs/minifluxАктивируем новую конфигурацию сайта и перезапускаем nginx:
$ sudo ln -s /etc/nginx/sites-available/sitename /etc/nginx/sites-enabled $ sudo service nginx restartУстанавливаем miniflux:
$ cd ~/www/miniflux $ wget https://github.com/fguillot/miniflux/archive/master.zip $ sudo apt-get install unzip $ unzip master.zip $ mv miniflux-master/* . $ rm -rf master.zip miniflux-master
Собственно на этом все. Остается только у своего доменного регистратора прописать на используемый sitename.ru требуемый ip-адрес, дождаться его делегирования, и можно открывать уже свой ридер в браузере.
Для первого входа в систему используется учетные данные: admin/admin. После входа нужно в настройках их изменить и импортировать свой opml-файл с rss-подписками.
Обновление подписок производится вручную, либо можно использовать crontab для обновления по времени, для это используется команда:
$ crontab -e
И в открывшемся файле добавляем строку:
*/20 * * * * cd /home/ubuntu/www/miniflux && php cronjob.php > /dev/null 2>&1
Согласно данной настройке, обновление лент будет производиться каждые 20 минут.
В целом, miniflux мне очень понравился тем, что он очень легкий, быстрый, имеет управление с клавиатуры. Плюс в нем очень просто настраивать оформление статей. Я после первого же запуска изменил используемые шрифты, отцентровал изображения в статьях (как это выглядит сейчас можно посмотреть на изображении в начале статьи). А фиды для помеченных статей подключил в ifttt, создал правило, по которому при появлении в данном фиде статьи, добавлять ее в instapaper.
Просто и удобно!
