четверг, 16 декабря 2010 г.

ispCP Omega 1.0.7. Установка хостинг-панели. Решение проблем.

Была установленна свежая система из дестрибутива Debian GNU/Linux 5.0.7, из стабильной на тот момент ветки lenny. Ядро 2.6.26-2-686. Дата 16.12.2010
Выполнять по мануалам:

Перед установкой привести в порядок доменные записи FQHN  "fully qualified hostname". 
В моём случае записью FQHN являеться hosting.domain.org.ua

hosting:~# /etc/hosts
127.0.0.1            localhost
195.234.200.130 hosting.domain.org.ua    hosting

hosting:~# /etc/hostname
hosting.domain.org.ua 

hosting:~# /etc/mailname
hosting.domain.org.ua 

hosting:~# cat /etc/resolv.conf
domain domain.org.ua
#search simfi.net
nameserver 127.0.0.1
nameserver 195.234.200.253

ШАГ 5 
Рекомендуетсья сделать бэкапы для этого копируем папки /usr /etc /var в домашний коталог
hosting:~# cp -dpRx /etc /home/user1/backup
hosting:~# cp -dpRx /usr /home/user1/backup
hosting:~# cp -dpRx /var /home/user1/backup

А после этого уже выполняем как положенно ШАГ5:

cp -R /tmp/ispcp/* /

ШАГ 6

# mysql_secure_installation
Выполнить команду выще не получилось т.к. небыл создан при установен пользователь root во время выполнения ШАГ 3.

Проблему с отстутсвующей записью для root в базе, я разобрал в этом руководстве Создание пользователя root в MySQL


ШАГ 7
Переходим в папку:

# cd /var/www/ispcp/engine/setup
Выполняем скрипт:

# perl ./ispcp-setup
Выбираем предложенные по умолчание варианты в скобках т.е. просто жмем Enter, за исключениме выделенных чернымцветом, ну а также паролей:


                                                                                                         
Welcome to ispCP '1.0.7 OMEGA' Setup Dialog.
        This program will set up ispCP OMEGA system on your server.
        Next you are asked to enter a "fully qualified hostname" (FQHN).
        For more infos read http://en.wikipedia.org/wiki/FQDN.
        Please enter a fully qualified hostname [host-200-130.simfi.net]: hosting.domain.org.ua
        Please enter the system network address [195.234.200.130]:                
        Please enter the domain name where ispCP OMEGA will be
        reachable on [admin.host-200-130.simfi.net]: admin.hosting.domain.org.ua
lease enter SQL server hostname [localhost]: 
        Please enter ispCP OMEGA SQL database name [ispcp]: 
        Please enter ispCP OMEGA SQL user name [root]: 
        Please enter ispCP OMEGA SQL password [none]: password
        Please repeat ispCP OMEGA SQL password: password
        Please enter ispCP FTP SQL user [vftp]:
      Please enter ispCP OMEGA FTP SQL user password [auto generate]: 
        [NOTICE] ispCP ftp SQL user password set to: Cp45454545?IlF545}
        Please enter ispCP OMEGA PMA control user [pma]: 
        Please enter ispCP OMEGA PMA control user password [auto
        generate]: 
        [NOTICE] PMA control user password set to: =XDF,PDFSDFJj&3455
  Please enter administrator login name [admin]: 
        Please enter administrator password: password
      Please repeat administrator password: password
        Please enter administrator e-mail address: yourbox@mail.com
дальше 3 пункта  также жмём по умолчанию...
  Starting ispCP installation
         * Stopping all services: ..........                                                                         [ Done ]
        Pre-installation tasks for Debian
         * Postgrey configuration (Updating listening port):                                           [ Done ]
        System checks
         * Mysql server connection:                                                                             [ Done ]
        Services setup
         * ispCP users and groups:                                                                              [ Done ]
         * ispCP directories:                                                                                        [ Done ]
         * ispCP main configuration file:                                                                       [ Done ]
         * ispCP database:                                                                                          [ Done ]
         * ispCP default language table:                                                                       [ Done ]
         * ispCP default SQL data:                                                                             [ Done ]
         * ispCP system hosts file:                                                                               [ Done ]
         * ispCP system resolver:                                                                                [ Done ]
         * ispCP crontab file:                                                                                      [ Done ]
         * ispCP Bind9 main configuration file:                                                            [ Done ]
         * ispCP Apache fastCGI modules configuration:                                            [ Done ]
         * ispCP Apache main vhost file:                                                                     [ Done ]
         * ispCP Apache AWStats vhost file:                                                              [ Done ]
         * ispCP Postfix configuration files:                                                                 [ Done ]
         * ispCP Courier-Authentication:                                                                    [ Done ]
         * ispCP ProFTPd configuration file:                                                               [ Done ]
         * ispCP init scripts:                                                                                        [ Done ]
        GUI setup
         * ispCP GUI Bind9 configuration:                                                                 [ Done ]
         * ispCP GUI fastCGI/PHP configuration:                                                      [ Done ]
         * ispCP GUI vhost file:                                                                                 [ Done ]
         * ispCP PMA configuration file:                                                                    [ Done ]
        Permissions setup
         * Set engine permissions:                                                                              [ Done ]
         * Set gui permissions:                                                                                   [ Done ]
        Finishing installation
         * Starting all services: ..........                                                                        [ Done ]
        Additional tasks
         * ispCP Rkhunter configuration:                                                                    [ Done ]
         * ispCP System cleanup:                                                                              [ Done ]
        Congratulations you installed ispCP '1.0.7 OMEGA' successfully!
        Please type http://admin.hosting.domain.org.ua in your browser and
        log in with your Administrator Account to use ispCP.


ШАГ 8

# rm -fR /tmp/ispcp

После установки панели в базе при выполнении команда или селектов в некоторых таблицах могут появляеться ошибки:

mysql> SHOW FULL FIELDS FROM  `admin` ;
ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_1252_0.MYI' (Errcode: 13)

Эта же ошибка в phpmyadmin



Для разрешения проблемы нада разрешить полный доступ для всех пользователей к катологу /tmp. Причем необходиму поставить sticky bit в 1 для того чтоб фалы магли изменять только владельцы. Выполняем от рута:

Смотрим права на /tmp

hosting:~# ls -l / |grep tmp
drwxr-xr-x   8 root root  1752 Дек 17 00:00 tmp

Меняем права на /tmp
hosting:~# chmod 1777 /tmp

Проверяем 
hosting:~# ls -l / |grep tmp
drwxrwxrwt   8 root root  1752 Дек 17 01:36 tmp


Бесплатно зарегистрировать домен в зоне org.ua - shram.kiev.ua

Бесплатно зарегистрировать домен в зоне org.ua - shram.kiev.ua

среда, 15 декабря 2010 г.

Создание пользователя root в MySQL

Ставил ispCP Omega. При установке была бага с преднастройщиком Postfix

hosting:/usr/local/src/ispcp/ispcp-omega-1.0.7# aptitude install $(cat ./docs/Debian/debian-packages-`lsb_release -cs`)





    ┌──────────────────────────────────┤ Postfix Configuration ├──────────────────
    │                                                                                 
│
    │                                  Bad recipient delimiter                        
│
    │                                                                                 
│
The recipient delimiter must be a single character. 'question skipped' is        
│
what you entered.  
    │                                         OK                                      │                                                                                 │ 
    └─────────────────────────────────────────────────────────────────────────────




Вообщем я много раз жал ентер, и одноременно Ctrl+С, таким образом остановил установку, далее забутался. Потом анологично повтрил усаановку, и когда меня преднастройщи Postfix спрашивал о hostname FQDN,  на повторный вопрос я ответил нет. Устанока продолжилась...
Далее када все поставилось я перешел к этапу конифигурирования базы. Вот тут и вылезла проблема с отсутствием пользователя root.


debconf-show postfix



Есть база данных. Не заходит под root. Что делать?
Идем в  /etc/mysql/debian.cnf и видим что при устаноки базы по умолчанию создался логин и пароль. Заходим. 
hosting:/usr/local/src/ispcp/ispcp-omega-1.0.7# cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = CGsdvZpFplfMHq9R
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user     = debian-sys-maint
password = CGsdvZpFplfMHq9R
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

hosting:~# mysql -u debian-sys-maint -p
Enter password: CGsdvZpFplfMHq9R
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.0.51a-24+lenny4 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Выбираем бузу mysql
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

Смотрим таблицу user
mysql> select * from user;
+-----------+------------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| Host      | User             | Password                                  | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections |
+-----------+------------------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| localhost | debian-sys-maint | *B0EB27A689F6C17DCA846AEA8DF794B21493B4A3 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | N                | N              | N                   | N                  | N                |          |            |             |              |             0 |           0 |               0 |                    0 | 


Как видно пользователя root нет. При установке система по каим-то причинам его не создала, поэтому его нада создать вручную, чем мы сейчас и займемся. 
Стандартным методом GRANT ALL PRIVILEGES создать не получиться:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '123' WITH GRANT OPTION;
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)

Повидемому нашему, по умолчанию, созданному ситемой пользователю debian-sys-maint не хватает прав на команду GRANT ALL PRIVILEGES.
Мы видем что почти под всеми привелегиями стоит Y а под некоторыми N
 Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv 
N                              N                                    N                              N                          N

Под параметром Create_user_priv  стоит N, поэтому мы и не можем создать для root'а, либо любого другого пользователя привелегии с помощью команды GRANT. Однако разрешенная привелегия Insert_priv позволяет нам вставить привелегии. Поэтому прибегним к хитрости. Создадим пользователя другой командой:

INSERT INTO user (Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv, Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv, Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv,max_questions,max_updates,max_connections,max_user_connections) VALUES ('localhost','root',PASSWORD('123'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','0','0','0','0');

Это все одна команда в одну строчку! на конце на забываем знак ;

Итак, мы добавляем в базе mysql в таблицу user суперпользователя root. 
Всего в таблице user 37 столбцов:
№1-3. Первые три это как видно Host- это домен откуда разрешаем заходить,его значение localhost. User это root. Потом идет пароль 123. 
№ 4-29. Далее идут привелегии я насчитал 26 шт. Select_priv,Insert_priv и т.д. из которых пользователю debian-sys-maint по умалчанию созданому системой разрешены только  21, кроме последних 5 помеченных N. Мы же в свою очередь создаем все привелегии со значением  
№ 30-33. Далее пропускаем 4 значения для  ssl_type | ssl_cipher | x509_issuer | x509_subject  (видно пустые солбцы)
№ 34-37. Для последних четырех столбцов указываем четыре нуля.

Затем чтобы привилегии вступили в силу выполняем команду:
mysql> FLUSH PRIVILEGES;

Позже паролшь можно будет сменить камандами:
mysql> UPDATE user SET Password=PASSWORD('123') WHERE User='root' and Host='localhost';
mysql> FLUSH PRIVILEGES;

И перезапускаем базу:
hosting:~# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.                                                                                      
Starting MySQL database server: mysqld.                                                                                      
Checking for corrupt, not cleanly closed and upgrade needing tables..

Проверив таиблицу user увидем что во всех столбцах с привелегиями стоят Y:
mysql> select * from user;
| localhost | root             | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                |          |            |             |              |             0 |           0 |               0 |                    0 | 

Поздровляю root создан!
Надеюсь Вам поможет. Сам не один час бился вот по этим ссылкам:


aka_delix