Сборка nginx 1.18 из исходников в Centos 7

  • Linux
yum check-update || sudo yum update -y
yum groupinstall -y 'Development Tools' && sudo yum install -y vim
yum install -y epel-release
yum install -y perl perl-devel perl-ExtUtils-Embed libxslt libxslt-devel libxml2 libxml2-devel gd gd-devel GeoIP GeoIP-devel
wget https://nginx.org/download/nginx-1.18.0.tar.gz && tar zxvf nginx-1.18.0.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz && tar xzvf pcre-8.44.tar.gz
wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1f.tar.gz && tar xzvf openssl-1.1.1f.tar.gz
rm -rf *.tar.gz
cd ~/nginx-1.18.0

./configure --prefix=/etc/nginx \
            --sbin-path=/usr/sbin/nginx \
            --modules-path=/usr/lib64/nginx/modules \
            --conf-path=/etc/nginx/nginx.conf \
            --error-log-path=/var/log/nginx/error.log \
            --pid-path=/var/run/nginx.pid \
            --lock-path=/var/run/nginx.lock \
            --user=nginx \
            --group=nginx \
            --build=CentOS \
            --builddir=nginx-1.18.0 \
            --with-select_module \
            --with-poll_module \
            --with-threads \
            --with-file-aio \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-http_realip_module \
            --with-http_addition_module \
            --with-http_xslt_module=dynamic \
            --with-http_image_filter_module=dynamic \
            --with-http_geoip_module=dynamic \
            --with-http_sub_module \
            --with-http_dav_module \
            --with-stream_ssl_module \
            --with-http_flv_module \
            --with-http_mp4_module \
            --with-http_gunzip_module \
            --with-http_gzip_static_module \
            --with-http_auth_request_module \
            --with-http_random_index_module \
            --with-http_secure_link_module \
            --with-http_degradation_module \
            --with-http_slice_module \
            --with-http_stub_status_module \
            --http-log-path=/var/log/nginx/access.log \
            --http-client-body-temp-path=/var/cache/nginx/client_temp \
            --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
            --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
            --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
            --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
            --with-mail=dynamic \
            --with-mail_ssl_module \
            --with-stream=dynamic \
            --with-stream_ssl_module \
            --with-stream_realip_module \
            --with-stream_geoip_module=dynamic \
            --with-stream_ssl_preread_module \
            --with-compat \
            --with-pcre=../pcre-8.44 \
            --with-pcre-jit \
            --with-zlib=../zlib-1.2.11 \
            --with-openssl=../openssl-1.1.1f \
            --with-openssl-opt=no-nextprotoneg \
            --with-debug


make 
sudo make install

Простой PPTP сервер для Centos 7

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

1.
yum -y update


2.
yum install -y epel-release
yum install -y net-tools vim
yum install -y ppp pptp pptpd pptp-setup
chkconfig pptpd on

3.
mv /etc/pptpd.conf /etc/pptpd.conf.bak
vim  /etc/pptpd.conf

Содержимое
option /etc/ppp/options.pptpd
logwtmp
localip 10.0.10.1
remoteip 10.0.10.2-254

4.
mv /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
vim /etc/ppp/options.pptpd

Содержимое
name pptpd
refuse-pap
refuse-chap
refuse-mschap
#require-chap
#require-mschap
#require-mschap-v2
require-mppe-128
require-mschap-v2
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4

5.
mv /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
vim /etc/ppp/chap-secrets

Содержимое
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
test * test *

6.
vim /usr/lib/sysctl.d/50-default.conf

Добавить строку
net.ipv4.ip_forward=1

7.
vim /etc/selinux/config

Заменить опцию
SELINUX=disabled

8.
firewall-cmd --permanent --add-masquerade
firewall-cmd --zone=public --add-port=1723/tcp --permanent
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT
firewall-cmd --reload

перегружаем и пробуем подключаться по логину паролю test/test

Установка Nginx + php-fpm + perl + mysql (mariadb 10) на Centos 7

  • Linux
Мой набор для установки веб-сервера на чистую систему

yum update
yum install epel-release
yum install fail2ban
systemctl enable fail2ban
systemctl restart fail2ban
yum -y install python python-pip python-devel libxml2 
yum -y libxml2-devel python-setuptools zlib-devel wget 
yum -y openssl-devel pcre pcre-devel gcc make autoconf automake
pip install uwsgi
yum -y install nginx
pip install virtualenv
systemctl enable nginx.service
systemctl start nginx.service
yum install -y mariadb mariadb-server net-tools
systemctl enable mariadb.service
yum install -y php-devel
yum groupinstall 'Development Tools'
vim /etc/yum.repos.d/MariaDB.repo

вставить в файл:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

потом
yum update
yum install MariaDB-server MariaDB-client
systemctl enable mariadb.service
systemctl start mariadb
mysql_secure_installation

FreePBX 13 не применяет изменения в конфигурации

FreePBX 13 в Centos 7 выдал ошибку:
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
Exception: Unable to connect to Asterisk through the CLI in file /var/lib/asterisk/bin/retrieve_conf on line 30
Stack trace:
1. Exception->() /var/lib/asterisk/bin/retrieve_conf:30

А дело в том, что изменились права на какой-то папке и нужно обновить права, запустим для этого скрипт
/usr/sbin/fwconsole start

Можете добавить его в запуск при загрузке в файл /etc/rc.d/rc.local

Не работает fail2ban... опять

  • Linux
По неведомой причине у меня уже 2ой раз после обновления ломается fail2ban. Сначала перестал работать парсер, но получилось найти в сети у кого была такая же проблема и решение. Проблема была в том, что fail2ban не находил в логах нужных записей, все время показывал, что ничего не обнаружено. Для решения проблемы нужно было вернуть старый парсер, для чего в конфиге добавить такую строку:
[DEFAULT]
backend = gamin

Но разработчики не спят, а кодят! Поэтому после следующего обновления через yum update прилетело обновление fail2ban до 0.9.2. И вдруг перестало работать обнаружение проблем в ssh. При старте выдает «jail ssh does not exist». Попытки перенастроить и нагуглить такую проблему оказались безрезультатны. Поэтому обновил fail2ban вручную до актуальной версии 0.9.6. Вроде работает :)
Для обновления выполните следующее:
cd /usr/src
git clone https://github.com/fail2ban/fail2ban.git
cd fail2ban/
python setup.py install
service fail2ban restart

Настройка fail2ban для защиты Elastix от подбора пароля для веб-интерфейса

  • Linux
Мануалов по настройке защиты asterisk много, а защиты самого elastix почему-то не нашел. Вопросы на форумах висят без ответов. Сделал сам, метод работает.
Создадим фильтр
vim /etc/fail2ban/filter.d/elastix-login.conf

[Definition]
#_daemon = asterisk
# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P\S+)
# Values:  TEXT

#[Jul 14 20:47:04] LOGIN asdf: Authentication Failure to Web Interface login. Invalid user asdf from 192.168.0.100.
#[Nov 10 20:56:01] LOGIN admin: Authentication Failure to Web Interface login. Failed password for admin from 37.176.189.82.
#
failregex = LOGIN .*: Authentication Failure to Web Interface login. Invalid user .* from <HOST>.
            LOGIN .*: Authentication Failure to Web Interface login. Failed password for .* from <HOST>.

ignoreregex =

И добавим правило в jail.conf
[elastix]
enabled = true
filter = elastix-login
action = iptables-multiport[name=NoLoginFailures, port="http,https"]
logpath = /var/log/elastix/audit.log
bantime = 3600
maxretry = 3

Защита SSH с Fail2Ban в CentOS 7

  • Linux
Соединение по SSH к вашему серверу, доступному с интернета часто подвергается атакам. Fail2ban самое популярное средство для защиты от перебора паролей. Сервис сам анализирует неудачные попытки входа и создает правила в iptables, блокирующие доступ злоумышленникам.

Ниже проверенный мануал по установке Fail2ban на сервере CentOS 7.

Читать дальше →

Как обновить PHP на CentOS 5 (6) до PHP 5.4 или PHP 5.5

  • Linux
Метод только, что проверил на Centos 5.11, обновил PHP 5.11 до PHP 5.5.
Смотрим какие пакеты PHP установлены:
# yum list installed | grep php

Если что-то есть, удаляем:
# yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64

Добавьте PHP 5.5 пакеты в yum если у вас CentOS 5.x
# rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

Для CentOS 6.x:
# rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

Теперь можно посмотреть какие пакеты доступны (5.4: php54w or 5.5: php55w):
# yum list available | grep php

Если нужна определенная версия:
# yum list available | grep php54

Ставим пакеты PHP 5.4 или 5.5, для примера я ставил php55:
# yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64

Теперь можно посмотреть, какая версия установлена
# php -v
PHP 5.5.38 (cli) (built: Jul 21 2016 13:42:32)
Copyright © 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright © 1998-2015 Zend Technologies

Перезапустите сервис httpd:
# service httpd restart

Минидистрибутив Centos, мониторим Kodeks-WEB через Monitd

  • Linux
Нравиться мне Ubuntu, но захотелось большего. Шучу.
В общем дело было так: навернул на Hyper-V 2012 линуксовый сервак на CentOS 6.4, исходником для установки был образ CentOS-6.4-x86_64-minimal.iso Накатил на это дело Kodeks-WEB, настроил обновления и прочие рюшечки, сервак в общем готов к бою,
Читать дальше →

Ставим Firebird 2.5 на Linux Centos6 из пакета rpm

  • Linux
В продолжение темы упрощенный вариант установки Firebird 2.5 на Linux Centos6:

Качаем свежим репозитарий atrpms-repo rpm с
http://dl.atrpms.net/el6-x86_64/atrpms/stable/

Устанавливаем atrpms-repo rpm:
# rpm -Uvh atrpms-repo*rpm

И ставим пакет firebird-superclassic:
# yum install firebird-superclassic

Ставим Firebird 2.5 на Linux Centos6 из исходников

  • Linux
Ставить пакет не спортивно, поэтому решил собрать из исходников с официального сайта. Для этого поставил чистую Centos 6 на VMWare ESXi 5, cкачал исходники Firebird-2.5.1.26351-0.tar.bz2 и…

Далее распаковываем:
tar xvjf Firebird-2.5.1.26351-0.tar.bz2
cd Firebird-2.5.1.26351-0

Обновляем пакеты:
yum update

Доставляем компилятор
yum install gcc gcc-cpp gcc-c++

Ставим библиотеки (еще пачку либ yum сам докачает)
yum install libtermcap-devel libstdc++-devel libtool ncurses-dev  libstdc++-devel libicu 

Читать дальше →

Установка Asterisk 1.6.x в CentOS 5.2

Базовая инсталляция Linux CentOS

Для сервера не рекомендуем устанавливать Linux с GUI, командная строка будет более удобным вариантом для сервера. Когда будете устанавливать Linux CentOS выбирайте только нужные пакеты. Разделение диска, настройки сети на ваше усмотрение.

Зависимости

Первым делом нужно обновиться:
yum -y upgrade
и перегрузиться. Для обновления всех пакетов запустите:
yum -y update
После обновления, запустите еще раз:
yum -y update
для проверки, что больше обновлений нет.

Читать дальше →