poloniumv's

Прикручиваем Node.js к nginx в Arch Linux

16 января 2018 г. 14:52

Возникла необходимость прикрутить приложение на Node.js к Django-проекту, над которым сейчас работаю. Сам проект работает через gunicorn + nginx. Открывать в мир порт, который будет слушать Node.js неохота, да и не хочу чтобы на любом виртуалхосте он был доступен, поэтому решил прикрутить его (Node.js) к nginx'у. Ну и создать для него (Node.js) юнит в systemd, чтоб запускть-перезапускать.

Сам юнит:

sudo nano /etc/systemd/system/node_имя_вхоста.service
[Unit]
Description=node_имя_вхоста.js -- Node JS App for имя_вхоста
After=network ...

Прикручиваем AWStats к nginx в Arch Linux

27 ноября 2017 г. 17:09

Возникла необходимость собирать статистику посещений одного из django-проектиков. Так как когда-то, давным-давно, имел кое-какой опыт работы с awstats, его же и решил прикрутить. Ранее, правда, работал с apache2, а тут nginx. Можно, конечно, поставить apache2, чтоб слушал какой-нибудь 8080-порт, или типа того. Но зачем?

Порывшись в интернетах нашел несколько гайдов по прикручиванию, но ни один не подошел/не заработал в силу разных причин. Потому приведу здесь компиляцию всего найденого.

Подразумевая что nginx уже поставлен и настроен, доставляем недостающие для решения ...

PostgreSQL после обновления ArchLinux

27 ноября 2017 г. 11:33

Очередной pacman -Syyu на этот раз прошел не столь незаметно как прежде. Отвалились все django-проектики, которые работают с postgresql. Причина проста -- несовместимость формата БД версии 9.6 (стояла прежде) с версией 10.0-1 (которая стала после обновления), о чем радостно сообщил journalctl -xe:

ноя 27 11:35:44 archlinux systemd[1]: Starting PostgreSQL database server...
-- Subject: Начинается запуск юнита postgresql.service
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Начат процесс запуска юнита postgresql.service.
ноя 27 11 ...

Запуск X11 приложений по сети

6 февраля 2017 г. 13:12

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

Благо, OpenVPN настроен, IP своей рабочей станции знаю, sshd на ней запущен. Осталось всего ничего.

Качаю PuTTY, Xming и необходимые для него шрифты и устанавливаю все это добро.

PuTTY. Указываю IP удаленной рабочей станции и порт на котором висит sshd:

Перехожу в раздел Connection → SSH → X11, включаю "Enable X11 forwarding" ...

OpenVPN на Arch Linux

3 февраля 2017 г. 10:38

Когда надо заиметь доступ в локальную сеть извне, скажем, с сети другого провайдера, например, на помощь приходит OpenVPN. Установка нехитрая и много времени не займет.

Ставим, собственно, сам openvpn и тулкит для генерации сертификатов и ключей безопасности:

sudo pacman -S openvpn easyrsa

Приступаем к генерации ключей и сертификатов. Создаем рабочий каталог и тянем в него необходимые для генерации файлы:

mkdir ~/easyrsa
cp -r /etc/easyrsa/x509-types ~/easyrsa/
cp /etc/easyrsa/openssl-1.0.cnf ~/easyrsa/
cd ~/easyrsa

Создаем инфраструктуру публичных ключей ...

Запуск Django-проекта на nginx с gunicorn в Arch Linux и с БД PostgreSQL

1 февраля 2017 г. 13:27

Первым делом ставим виртуальное окружение

sudo pacman -S python2-pip
sudo pip2 install virtualenv virtualenvwrapper
mkdir ~/Env
echo "export WORKON_HOME=~/Env" >> ~/.bashrc
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc
mkvirtualenv firstsite

Из-под виртуального окружения (в которое мы попадаем после mkvirtualenv) ставим необходимые модули и создаем Django-проект:

pip install django psycopg2 gunicorn
cd ~
django-admin startproject firstsite

Далее правим настройки проекта:

nano ~/firstsite/firstsite/settings.py
# ...
ALLOWED_HOSTS = ['доменные_имена', 'и/или_ip-адрес_проекта']
# ...
DATABASES ...

Несколько версий PHP на Apache2 в Arch Linux

1 февраля 2017 г. 12:10

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

Собираем старую версию php (мне надо была 5.4):

yaourt -S php54

Доставляем к основному php (у меня версии 7) cgi-модуль и FastCGI-модуль для Apache2:

sudo pacman -S php-cgi mod_fcgid

Создаем каталог для fcgi-файлов и ...

1