Невозможно реконфигурировать DNS сервер. Убедитесь, что сервер запущен и правильно настроен ISPmanager

Если у вас на CentOS стоит панель ISPmanager и упорно ругается ошибками на любую попытку добавить домен:
Невозможно реконфигурировать DNS сервер. Убедитесь, что сервер запущен и правильно настроен.

Посмотрим, что же записалось в /etc/rndc.key:
# cat /etc/rndc.key
key "rndc-key" {
 algorithm hmac-md5;
 secret "NKVq24OeEqhtlIF8jJIl9g==";
};


Копируем это в /etc/named.conf и добавляем секцию controls, что бы получилось так:
key "rndc-key" {
        algorithm hmac-md5;
        secret "NKVq24OeEqhtlIF8jJIl9g==";
};

controls {
        inet 127.0.0.1 port 953 allow { 127.0.0.1;} keys {"rndc-key"; };
};


Рестартуем named:
# /etc/init.d/named restart

Делаем сидбокc для раздачи торрентов

1) Создаем VPS (Дроплет) с Ubuntu 12.04 на борту

2) Логинимся по ssh рутом и делаем:
apt-get update
apt-get install transmission-daemon

3) Затем открываем settings.json

nano /etc/transmission-daemon/settings.json

И тут есть два варианта:
  • ограничить доступ по ip прописав адреса в rpc-whitelist
  • выставить rpc-whitelist-enabled в false и прописать rpc-username с rpc-password

4) Затем на всякий случай сохраняем конфиг т.к. при перезапуске он затирается:
cp /etc/transmission-daemon/settings.json /etc/transmission-daemon/settings.json.save

5) Перезапускаем transmission

service transmission-daemon reload
6) Открываем в браузере your_ip:9091/transmission/web/ и видим интерфейс торрент-клиента.

7) Важный момент, в Ubuntu 12.04 пакет transmission-daemon имеет один недочет. При установке создается пользователь debian-transmission, но по умолчанию он не имеет домашней директории.

Исправляем этот недочет:
useradd -m -d /home/debian-transmission/ -s /bin/bash debian-transmission
su debian-transmission
cd ~
mkdir Downloads

8) Все, теперь можно пользоваться =)

9) Скриншот работающего transmission

P.S. Для создания торрентов можно использовать консоль, например вот так:
transmission-create file -t http://tracker./announce.php?passkey=... -o file.torrent

Быстро узнать информацию о железе

Иногда возникает необходимость быстро узнать информацию о железе установленном на компьютере под управлением Linux. В этом случае довольно часто можно услышать про утилиты типа lshw,lspci,dmidecode и получении информации из /proc/. Но есть оказывается и более удобная утилита агрегирующая вывод соответствующих утилит и в некоторых дистрибутивах она уже имеется по умолчанию (например в Linux Mint). Встречайте inxi

Так, например узнать краткую инфу о железе можно вызнав inxi с ключем -b
System: Host: rail-LIFEBOOK-A530 Kernel: 3.13.0-24-generic x86_64 (64 bit)
Desktop: Xfce 4.11.6 Distro: Linux Mint 17 Qiana
Machine: System: FUJITSU product: LIFEBOOK A530
Mobo: FUJITSU model: FJNBB06 Bios: FUJITSU // Phoenix version: Version 1.19 date: 08/15/2011
CPU: Dual core Intel Core i3 CPU M 380 (-HT-MCP-) clocked at 933.00 MHz
Graphics: Card: Intel Core Processor Integrated Graphics Controller
X.Org: 1.15.1 drivers: intel (unloaded: fbdev,vesa) Resolution: 1366x768@60.1hz
GLX Renderer: Mesa DRI Intel Ironlake Mobile GLX Version: 2.1 Mesa 10.1.0
Network: Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
Card-2: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) driver: ath9k
Drives: HDD Total Size: 120.0GB (49.8% used)
Info: Processes: 250 Uptime: 8 days Memory: 2286.2/7782.2MB Client: Shell inxi: 1.8.4
Советую набрать man inxi и подробнее почитать про ключи, так например -D расскажет об установленных жестких дисках, а -C выдаст подробную инфу по CPU.

Как настроить сервер без панели управления

Подключение к серверу по SSH

После одобрения вашей заявки, вам на емайл приходит письмо с IP-адресом вашего сервера и паролем для доступа к нему. Управление сервера осуществляется по SSH с помощью программы клиента. Наиболее простой и удобный это putty.
Качаем его отсюда: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Устанавливать его не надо, сразу запускаем и прописываем наш IP адрес.
Нажимаем кнопку Open. Если IP-адрес указан верно, откроется терминал с запросом логина и пароля. В качестве логина указываем root, и выданный вам пароль. Таким образом, мы подключились к серверу и можем теперь вводить команды для управления им.

Добавить пользователя.

К командной строке сервера вводим:
adduser <имя юзера>


Назначить пароль пользователю:
passwd <имя юзера>
Можно создать директорию для вебсервера, например www. Создавать папку нужно от имени нового пользователя:
sudo –u <имя юзера> mkdir /home/<имя юзера>/www


Добавить права на чтение для вебсервера:
chmod 755 /home/<имя юзера> -R


После этого мы уже можем подключаться к серверу по FTP и размещать свой сайт.

Добавить сайт

Чтобы ваш сайт начал отвечать через браузер, необходимо прописать его в конфигурации вебсервера.
Редактируем файл:
vi /etc/httpd/conf/httpd.conf


Пару слов о работе в редакторе vi:
  • Чтобы зайти в режим редактирования надо нажать: i
  • Чтобы выйти без сохранения нажать: ESC q!
  • Чтобы выйти и сохранить нажать: ESC wq

Перематываем в самый конец и дописываем строки:
<VirtualHost *:81>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /home/<имя юзера>/www/
ServerName domain.ru
ServerAlias www.domain.ru
</VirtualHost>

81 порт это потому что, сервер настроен на работу с nginx – это программа, которая кэшируется часть запросов и тем самым ускоряет работу вашего сайт.

Сохраняем, выходим и перезапускаем вебсервер командой:
/etc/init.d/httpd restart

Вот и все, сайт ваш должен начать отвечать через браузер.

Добавить базу Mysql

Пароль для пользователя root по умолчанию: 123456
Сменить его можно так:
mysqladmin -uroot -p password <новый пароль>

и на запрос указать старый пароль

Создание базы данных
mysqladmin -uroot -p create <имя базы>

и на запрос указать root-пароль mysql

Создание пользователя и выделение ему прав на созданную базу.
Заходим в консоль mysql
mysql -uroot –p 
GRANT ALL PRIVILEGES ON <Имя базы>.* TO '<логин пользователя>'@'localhost' IDENTIFIED BY '<пароль>';


Сбросить старые привилегии из памяти и выйти из консоли.
flush privileges; 
quit;


Если требуется получить доступ к серверу с удаленного IP-адреса (например из дома):
GRANT ALL PRIVILEGES ON <Имя базы>.* TO '<логин пользователя>'@'<ваш IP>' IDENTIFIED BY '<пароль>';


Доступ к phpMyAdmin

На ваш бесплатный сервер установлена панель управления Mysql через браузер phpMyAdmin.
Она доступна по адресу:
http://< IP-сервера>/mysqldb

По умолчанию, она закрыта для использования, чтобы ее открыть необходимо, создать любого Web-пользователя командой:
htpasswd -с "/home/phpmysql/.htpasswd" admin


Паролирование директорий вебсервера

В примерах будем использовать:
  • test – имя пользователя от FTP вашего сайта.
  • Admin — имя web-пользователя
Создание файла пароля и Web-пользователя
htpasswd -с "/home/test/.htpasswd" admin

и на запрос вводит пароль

Смена пароля для Web-пользователя
htpasswd "/home/test/.htpasswd" admin

и на запрос вводит пароль

Чтобы закрыть нужную папку в ней создаем файл .htaccess и прописываем:
AuthName "Admin area" 
AuthType Basic 
AuthUserFile /home/test/.htpasswd 
require valid-user


Либо для конкретных пользователей файла .htpasswd
AuthName "Admin area" 
AuthType Basic 
AuthUserFile /home/test/.htpasswd 
require admin support


Установка файлового менеджера
Чтобы не мучится с консолью и тем более редактором VI, рекомендуем установить файловый менеджер Midnight Commander.
Установка Midnight Commander в CentOS сводится к одной команде.
# yum install mc


Запуск Midnight Commander осуществляется при помощи команды:
# mc

Когда в качестве клиента ssh используется Putty, кракозябры в Midnight Commander лечатся установкой кодировки Putty в UTF-8 «Window->Translanion->Remote Character Set->UTF-8»

Изменения в предоставлении лицензий на программные продукты

Напоминаем, что с 20 января 2015 года вступают в силу следующие изменения:
Триальные лицензии продуктов 5-й версии больше не нужно заказывать через личный кабинет
Мы упростили процедуру получения тестовых лицензий и сделали ее более удобной. Вам больше не нужно переходить с сайта в биллинговую систему, чтобы зарегистрировать личный кабинет и заказать лицензии. Просто скачайте и запустите скрипт установки программного продукта 5-й версии, и тестовая лицензия зарегистрируется автоматически в случае отсутствия коммерческой лицензии на выбранный продукт. Как и прежде, триал выдается только один раз на один IP-адрес. В течение 14 дней вы можете бесплатно использовать его для тестирования наших продуктов.

Триальные лицензии продуктов 4-й версии
Мы полностью прекращаем предоставление пользователям триальных лицензии на программные продукты 4-го поколения.

Проверь свой IP
Мы подготовили для вас инструмент, с помощью которого вы можете проверить возможность получения триала на определенный IP-адрес. Введите ваш IP в специальное поле на нашем сайте, и в случае положительного ответа вам останется лишь запустить процесс установки продукта. Триальная лицензия активируется автоматически!

Установка продуктов 4-й версии
Скрипт установки install.sh теперь используется для установки продуктов 5-й версии. Для установки старых продуктов 4-й версии необходимо использовать скрипт install.4.sh

Текст комментария должен быть от 2 до 3000 символов

Иногда при создании личного сообщения, нужно передать какую-то информацию. НО сука 3000 символов это очень мало.
Короче это меняется вот тут.

/classes/actions/ActionTalk.class.php
/**
		 * Проверяем текст комментария
		 */
		$sText=$this->Text_Parser(getRequestStr('comment_text'));
		if (!func_check($sText,'text',2,3000)) {
			$this->Message_AddErrorSingle($this->Lang_Get('talk_comment_add_text_error'),$this->Lang_Get('error'));
			return;
		}

Как скрыть "закрытый блог" из листинга?

В боковой колонке есть список блогов/разделов.
И закрытые блоги там все отображаются, с замочками. Иногда это чисто технические разделы для создателей портала.
А пользователи задаются вопросом что же там внутри, как вступить и все такое.
И вот чтобы скрыть это, чтобы лишних вопросов не было. Делаем такое:

classes\modules\blog\mapper\Blog.mapper.class.php
public function GetBlogsRating(&$iCount,$iCurrPage,$iPerPage) {         
                $sql = "SELECT 
                                        b.blog_id                                                                                                       
                                FROM 
                                        ".Config::Get('db.table.blog')." as b                                                                    
                                WHERE                                                                   
                                        b.blog_type<>'personal'                                                                 
                                ORDER by b.blog_rating desc
                                LIMIT ?d, ?d    ";              
                $aReturn=array();
                if ($aRows=$this->oDb->selectPage($iCount,$sql,($iCurrPage-1)*$iPerPage, $iPerPage)) {
                        foreach ($aRows as $aRow) {
                                $aReturn[]=$aRow['blog_id'];
                        }
                }
                return $aReturn;
        }

в запросе есть исключение (кроме персональных (type personal))
WHERE                                                                   
                                        b.blog_type<>'personal'

вот и допишем еще и закрытые
WHERE                                                                   
                                        b.blog_type<>'personal'
                                        and
                                        b.blog_type<>'close'

В результате будет вот так:
public function GetBlogsRating(&$iCount,$iCurrPage,$iPerPage) {         
                $sql = "SELECT 
                                        b.blog_id                                                                                                       
                                FROM 
                                        ".Config::Get('db.table.blog')." as b                                                                    
                                WHERE                                                                   
                                        b.blog_type<>'personal'
                                        and
                                        b.blog_type<>'close'                                                                    
                                ORDER by b.blog_rating desc
                                LIMIT ?d, ?d    ";              
                $aReturn=array();
                if ($aRows=$this->oDb->selectPage($iCount,$sql,($iCurrPage-1)*$iPerPage, $iPerPage)) {
                        foreach ($aRows as $aRow) {
                                $aReturn[]=$aRow['blog_id'];
                        }
                }
                return $aReturn;
        }