+2.26
4 читателя, 58 топиков

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

Иногда возникает необходимость быстро узнать информацию о железе установленном на компьютере под управлением 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»

VNC консоль - локальный доступ к виртуальному серверу

К серверам подключили виртуальную консоль. Которая позволяет получить локальный доступ к серверу через VNC, с помощью программы VNC viewer или плагина в браузере. Получился аналог ipKVM для виртуальных серверов.
ru.wikipedia.org/wiki/TightVNC

Для удаленного доступа по VNC можно использовать бесплатную программу TightVNC. www.tightvnc.com

Установка Apache MPM-ITK на CentOS и ISPmanager

Проверка наличия mpm-itk
Проверим, есть ли бинарный файл mpm-itk на сервере, который обычно расположен в /usr/sbin/httpd.itk:
# stat /usr/sbin/httpd.itk
File: `/usr/sbin/httpd.itk'
Size: 363168 Blocks: 712 IO Block: 4096 regular file
Device: 6801h/26625d Inode: 5512117 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-09-29 17:00:18.420030023 +0400
Modify: 2014-08-18 18:54:55.000000000 +0400
Change: 2014-09-29 16:48:48.768699179 +0400
Если имеется, то приступаем к настройкам, в противном случае начинаем установку.

Установка MPM-ITK
Apache MPM-ITK отсутствует в стандартном репозитории. Все популярные руководства по его устанвке ссылаются на репозиторий CentAlt, который в последнее время недоступен. Однако существуют и другие альтернативные решения. Для CentOS версии 6.Х Apache MPM-ITK присутствует в репозитории Epel.

Подключение репозитория для установки Apache MPM-ITK
Подключение репозитория EPEL для CentOS 6.5 x64:
# rpm --import mirror.yandex.ru/epel/RPM-GPG-KEY-EPEL-6
# rpm -ihv mirror.yandex.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm
Подключение репозитория EPEL для CentOS 6.5 x32:
# rpm --import mirror.yandex.ru/epel/RPM-GPG-KEY-EPEL-6
# rpm -ihv mirror.yandex.ru/epel/6/i386/epel-release-6-8.noarch.rpm

Установка Apache MPM-ITK на CentOS
Для установки из репозитория EPEL выполните следующее:
# yum install httpd-itk

Настройка файлов конфигурации
Отредактируйте файл /etc/sysconfig/httpd — раскомментируйте либо добавьте строчку:
HTTPD=/usr/sbin/httpd.itk
Отредактируйте конфигурацию Apache, для этого добавьте в файл /etc/httpd/conf.d/php.conf следующие строки:
<IfModule itk.c>
LoadModule php5_module modules/libphp5.so


Если на сервере уже присутствуют домены и настроены какие-либо VirtualHost, то отредактируйте файл /etc/httpd/conf/httpd.conf, для этого поменяйте в нем SuexecUserGroup на AssignUserID (если такие записи имеются). Процесс можно автоматизировать одной из команд:
# perl -p -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf
либо:
# sed -i -e 's/SuexecUserGroup/AssignUserID/g' /etc/httpd/conf/httpd.conf
Отредактируйте файл /etc/httpd/conf/httpd.conf, добавьте в него по аналогии с <IfModule prefork.c> следующее:
# MPM-ITK
<IfModule itk.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000

Внимание! У вас могут быть совсем другие значения! Конкретные данные берите по аналогии со своим блоком <IfModule prefork.c>.
Перезапустите вебсервер Apache:
# service httpd restart
Убедитесь, что Apache MPM-ITK работает:
# ps ax|grep htt
13554? S 0:00 /usr/sbin/httpd.itk
13580? S 0:00 /usr/sbin/httpd.itk
13588? S 0:00 /usr/sbin/httpd.itk
в выводе в конце строк обязательно должно быть itk.

Настройка конфигурации панели ISPmanager
Отредактируйте файл /usr/local/ispmgr/etc/ispmgr.conf, добавьте в его начало следующее:
Option ApacheMPM
ApacheProcName httpd.itk
Это необходимо для корректной работы панели ISPManager с MPM-ITK, и чтобы при добавлении новых доменов в была указана строка AssignUserID.
Перезапустите панель:
# killall ispmgr
На этом установка и настройка закончены.

Включаем скачку rar архивов

Необходимо скачать с сайта архив в rar, но негодяйский апач отдает архив в виде текстового файла в крякозябрах. Причем, как и следовало ожидать, при переименовывании файла в zip – скачка запускается корректно.

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

По итогам, добавляем в конфиг апача httpd.conf следующее нагромождение выражений:
AddType application/rar .rar
AddType application/x-rar .rar
AddType application/x-compressed .rar
AddType application/x-rar-compressed .rar
AddType compressed/rar; application/x-rar-compressed .rar
AddType application/x-rar-compressed; application/x-compressed .rar

Установка даты в CentOS

Для того чтобы задать точное время в системе CentOS используют все ту же самую команду date, в следующем формате:
# date MMDDhhmm


либо же более человечно
# date -s “21 JULY 2014 12:09:33″


но можно обойтись и отдельными корректировки даты и времени, указанных в примерах соответственно:
# date +%Y%m%d -s “20140721″
# date +%T -s “12:09:33″


Также с помощью команды date можно просматривать даты более подробно, к примеру определить дату следующего понедельника:
# date –date=”monday” +%F


или прошедшего
# date –date=”last monday” +%F


а в таком формате можно посмотреть воскресение следующей недели:
# date –date=’sunday next week’


или через три недели
# date –date=’sunday 3 week’


Для визуализации календаря, можно использовать утилиту cal, которая выведет нам месяц, или же год, если сказать:
# cal 2014


если же нам надо увидеть только предыдущий, текущий и следующий месяцы, то можно их запросить следующим образом:
# cal -3

Debian - установка определенной версии софта

Для этого можно воспользоваться богатыми возможностями apt.
apt-cache showpkg <package-name>


И затем установить требуемую версию
apt-get install <package-name>=<version>


К примеру:
apt-cache showpkg mysql-server или apt-cache policy mysql-server
apt-get install mysql-server=5.5.22-0ubuntu1

Как узнать версию дистрибутива Linux?

Самый простой и быстрый способ это набрать в консоли:
cat /etc/*release*

Пример вывода:

[rail@rh-manjaro tmp]$ cat /etc/*release*
DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=0.8.9
DISTRIB_CODENAME=Ascella
DISTRIB_DESCRIPTION="Manjaro Linux"
Manjaro Linux
NAME="Manjaro Linux"
ID=manjaro
PRETTY_NAME="Manjaro Linux"
ANSI_COLOR="1;32"
HOME_URL="http://www.manjaro.org/"
SUPPORT_URL="http://www.manjaro.org/"
BUG_REPORT_URL="http://bugs.manjaro.org/"