Archive for the ‘System administration’ Category

Setup policy cfengine policy hub

September 20th, 2015 No comments

CFEngine – configuration management system written in c ++ language and it is running on * BSD, Linux, Windows and others OS. This article describes how to install FreeBSD policies server on your server. Installing on Linux OS will be similar, but with the use of one or another package manager. All actions within cfengine similar like in FreeBSD, and on Linux too, with the exception of the location of files and classes os_name ::

Installing policy hub

СPolicy Server or in another policy hub – cfengine service, which is responsible for the distribution of rules, policies and changes. Simply put – the “main server” in this case.

So let’s install cfengine package from the FreeBSD ports:

# cd /usr/ports/sysutils/cfengine
# make install clean

Make rehash:

# rehash

Once installed, go to the directory cfengine. His working directory – always /var/cfengine. Use the command, for that would go into a folder, create a directory bin/ and copy the binaries:

# cd /var/cfengine && mkdir bin && cp /usr/local/sbin/cf-* bin/

cfengine server authenticates and authorizes itself by RSA keys, similar to the ssh, and works as usual, in a pair. To generate them, use a special command:

# cf-key

No need to do anything, the keys are generated and are in their home directory – / var / cfengine / ppkeys, files localhost.priv – the private key, and – is a public one.

After installing cfengine as a port and as a package, to work it is not ready yet. master files should be downloaded that contain “file promises” – the master file, which describes the links on the policy. Files can be taken with git-hub project, but due to frequent changes and updates FreeBSD Ports policy, these files may not work with the build of of cfengine, located in the ports. We take them from a special archive. Download the master files:

# fetch


# tar xzvf masterfiles-3.6.5.tar.gz

Remove archive:

# rm masterfiles-3.6.5.tar.gz

Now the server is ready to work, and all postinstall conditions was completed. To the server started to work as a policy hub, we have to run a command, for start synchronisation between masterfiles and input folder of the hub. The IP must be the same ip as your policy hub’ server. So we do it for server itself (important).

# cf-agent -B -s

In case of successful bootstrap, you will receive a log, where you can see what everything is ok. is in our case is IP of the server where we do it. The message will be something like this:

# notice: Bootstrap to '' completed successfully!

Just in case check how works cf-serverd:

# sockstat

You will see something like that:

root cf-serverd 14731 3 stream -> ??
root cf-serverd 14731 5 stream -> ??
root cf-serverd 14731 6 tcp4 6 *:5308 *:*
root cf-serverd 14731 7 dgram -> /var/run/logpriv

And on the other server (on client) check the port availability and nothing  not blocking the daemon:

# nc -v 5308
Connection to 5308 port [tcp/cfengine] succeeded!

This means that everything is is ok. Congratulations – you are beautiful. Make sure that all components are present cfengine to /etc/rc.conf:

# echo 'cf-serverd_enable="YES"' >> /etc/rc.conf
# echo 'cf_monitord_enable="YES"' >> /etc/rc.conf
# echo 'cf_execd_enable="YES"' >> /etc/rc.conf

The other components, such as cf-execd and cf-monitord run themselves, after the cf-serverd will started. Good luck. In the future, I will write about CFEngine more.

Categories: cfengine, System administration Tags:

Disable Selinux in Centos and RHEL

March 27th, 2015 No comments


So, probably, many of you faced with the fact that the installation of any software causes you need to disable selinux on CentOS. In fact, selinux is a very useful, flexible and secure. You should read the documentation and understand it. However, not everyone has enough time to read the selinux documentation. And i would advice you do not turn off it, but i think that you found this article in google only because of one goal: I NEED TURN OFF FUCKING SELINUX!!!
Ok then, i’ll say you how to do it…
So, for that would disable the selinux, you first need to go to the server via ssh (of course, you can go to the server and do all the following steps with the keyboard :))


All described in the following steps must be done as root user. Edit the necessary config:

# nano /etc/sysconfig/selinux

Then find in the string file called “SELINUX =” and replace them with the value to “disable”, instead of “permissive” available there. That’s it, i can congratulate you – we have disabled selinux on CentOS and RedHat.


Установка панели VESTA cp

March 27th, 2015 No comments


Я хотел бы представить всем панель управления Vesta – по моему мнению, это великолепная альтернатива платнымым ISPmanager DirectAdmin, а также тяжеловесному и дырявому Webmin. В этой статье я расскажу как установить vesta cp на ваш сервер с Linux.

Для начала, о поддержке. Панель управления Vesta cp в данный поддерживается RHEL/CentOS 5/6x, Debian 7, а также Ubuntu начиная с версии 12.04 и заканчивая 14.04. Установка vesta cp достаточно проста, требует ввода нескольких команд и занимает около 5-7 минут, делая всё сама: от загрузки файлов, до установки и настройки конфигов. Также хочется отметить, что непродвинутым пользователям для установки панели vesta cp на ОС CentOS и RedHat, требуется отключение selinux. Напомню, что отключение Selinux требует перезагрузки сервера.
Итак, поехали! Для начала, нам необходимо подсоединиться на наш сервер по ssh:

$ ssh

Напоминаю вам, что все действия необходимо выполнять от пользователя root. Так что перед каждой командой используйте sudo <название команды>, либо sudo su, либо просто su – зависит от того, как вы используете систему.

$ sudo su

Также, перед установкой всяких веб-панелей управления и веб-интерфейсов, я рекомендую устанавливать в систему пакеты gcc, make, g++. Не всегда они пригодятся для того или иного устанавливаемого компонента, но рано или поздно пригодятся всегда, поверьте мне. Для CentOS или RHEL установки этих пакетов выглядит следующим образом:

# yum install gcc gcc-c++ make

Для *deb-производных систем, установка будет выглядеть примерно так:

# apt-get install gcc gcc-c++ make

Перейдём в папку, где будем производить скачку установочного скрипта vesta cp:

# cd /tmp

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

# curl -O

Или, если не получилось, скачать установочный скрипт также можно другим способом:

# wget

Далее, установочный скрипт Vesta cp необходимо сделать исполняемым, что бы он мог быть запущен:

# chmod +x

Запускаем установку vesta cp:

# ./

Либо вот так:

# bash

Всё, установка панели vesta началась. Просто следуйте указаниям установщика. Скрипт выполнит все действия и сообщит о завершении установки. Также, во время установки он должен запросить у вас необходимые данные – например, такие как пароль администратора панели, пароль root от MySQL, а также в конце установки сообщит URL панели. По умолчанию, это http://<serverip>:8083. Удачи в использовании, в следующем моём посте будет обзор этой панели, а также разбор её функционала и сравнение с другими продуктами.

Установка Ajax-скрипта Looking Glass на сервер с Linux

November 17th, 2013 No comments


Почти у каждого хостера существует специальный сервис – Looking Glass. Делает он достаточно нехитрые вещи – а именно дает ping\traceroute от сервера где расположен он сам, до ip\домена который ему покажут. То есть задача в том, что бы проверить скорость\маршрут от source до destination адресов.

Задача реализации простая – клиенту должна быть доступна веб-станичка, на которой можно ввести нужный адрес и пиговать. Делается на php за пару минут при помощи shell_exec и POST. Однако, мы же хотим чего-то красивого, так что я предлагаю взять готовый скрипт. Мы – не дизайнеры, мы админы. Мы ленивы.

Итак, идем по ссылке на github: – и нажимаем “”Download ZIP”



Далее, закачиваем архив на сервер, затем распаковываем:

$ unzip

После, перейдем в только что распакованную директорию LookingGlass-master и запустим скрипт установки

# ./

Скрипт спросит, Ваш IP, размер тестовых файлов, скажет какие пакеты ему понадобится. Установка полностью автоматическая. Я делал установку на nginx, разработчики советуют делать такой конфиг:

location ~ \.php$ {

# Append the following
fastcgi_buffer_size 1k;
fastcgi_buffers 128 1k;
fastcgi_max_temp_file_size 0;
gzip off;

В принципе все. По окончании установки получится примерно тоже, что и у меня:

Categories: IT-bullshit, System administration Tags:

Отказываемся от dropbox в пользу owncloud: установка, настройка на centos+nginx+php-fpm

December 23rd, 2012 No comments

Я достаточно долго пытался отказаться от dropbox в пользу других opensource-приложений, но, к сожалению, не нашел ничего удовлетворяющего для своих потребностей. Были некие попытки написания простых скриптов и приложений для этих целей собственными силами – но, к сожалению, из этого ничего не вышло.  Обидно, что вычислительная мощность есть, а использовать ее так как хочется, практически не получается. Только скучная домашняя smb-файлопомойка, ага. Требование к “облаку” было следующим:

  • Кроссплатформенная  синхронизация файлов со всеми устройствами (Windows, Linux, Android, MacOS);
  • Веб-интерфейс с возможностью скачивать, загружать и редактировать файлы;
  • Автоматическая загрузка фотографий/видео с мобильного телефона;

Сжав зубы, я долго читал хабр в поисках способов увеличить место в dropbox, и вуаля – 18.9 гб. мои. Но сама мысль о том… Ну, вы поняли. И тут как озарило – мне рассказали про owncloud, его возможности, а главное открытость и доступность серверной части. Тот же самый dropbox, но только под вашим наблюдением. Вы только представьте!

Как только появилось свободное время, было решено произвести установку owncloud к себе на сервер. Вещь оказалась настолько классной, что было принято решение отказываться от dropbox. Далее я опишу установку на свой сервер. Устанавливать будем на веб-сервер nginx с php-fpm.

Read more…