пятница, 6 декабря 2013 г.

CentOS 6.4 minimal + VirtualBox + LAMP + PHPVirtualBox


Устанавливаем репозиторий VirtualBox’a

cd /etc/yum.repos.d/   ## CentOS 6/5.7 and Red Hat (RHEL) 6/5.7 users
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
yum update
Также Вам потребуется репозиторий rpmforge, для установки дополнительных функций.
Установим репозиторий rpmforge:
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
cd /tmp
Для 32х битной:
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
 Для 64х битной:
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
 Обновляем индексы
yum update
yum --enablerepo rpmforge install dkms

Далее приступаем к установке самого VirtualBox

Проверим какая версия доступна
yum list | grep VirtualBox
И видим на данный момент следующее:
[root@Vbox tmp]# yum list | grep VirtualBox
VirtualBox-3.2.x86_64                      3.2.18_89859_el6-1           virtualbox
VirtualBox-4.0.x86_64                      4.0.20_89853_el6-1           virtualbox
VirtualBox-4.1.x86_64                      4.1.28_89849_el6-1           virtualbox
VirtualBox-4.2.x86_64                      4.2.20_90983_el6-1           virtualbox
VirtualBox-4.3.x86_64                      4.3.2_90405_el6-1            virtualbox
Мы установим последнюю версию
yum install VirtualBox-4.3
После установки VirtualBox создастся группа vboxusers и нам надо добавить в эту группу пользователя, который может управлять виртуальными машинами VirtualBox:
usermod -G vboxusers root
Так же создадим пользователя vbox
useradd vbox
Установим пользователю vbox пароль vbox
passwd vbox
 Добавим пользователя vbox в группу управления виртуальными машинами
usermod -G vboxusers vbox

Далее установим LAMP

Отключаем Iptables, либо настраиваем разрешенные порты
chkconfig iptables off
service iptables stop
проверим
service iptables status

Установка веб-сервера Apache(httpd)

yum install httpd
проверим успешность установки Apache
rpm -qa | grep -i httpd
Далее зададим автоматическую загрузку при старте системы для сервера Apache с помощью chkonfig
chkconfig httpd on 
запустим Apache
service httpd start 

Установка сервера баз данных MySQL

При установке сервера баз данных MySQL, будут так же установлены (в соответствии с заданными зависимостями) - perl-DBI, perl-DBD-MySQL, и, mysql-server.

Итак установка:
yum install mysql-server
проверка успешности установки
rpm -qa | grep -i mysql
 Зададим автоматический запуск MySQL во время старта системы
chkconfig mysqld on
запустим MySQL
service mysqld start

Выполним настройку MySQL

По умолчанию, после установки, мы можем подключиться к нашему серверу баз данных под root-ом без ввода пароля. Поэтому назначим пароль и сделаем еще несколько настроек, выполнив скрипт
/usr/bin/mysql_secure_installation
После запуска скрипта mysql_secure_installation необходимо утвердительно ответить на заданные вопросы. Первым делом будет предложено сменить пароль пользователя root базы mysql (не путать с системным пользователем).
Enter current password for root (enter for none):
# Предлогается нажать enter, так как после установки пароль root пустой.
OK, successfully used password, moving on...
Предлагается задать пароль, для подтверждения нажмите Y
Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation.
Set root password? [Y/n] y 
 Далее вводим пароль для пользователя root
New password:
Re-enter new password:
 Получаем сообщение о том что смена пароля прошла успешно:
Password updated successfully!
Reloading privilege tables..
 Удаление анонимного пользователя, нажимаем Y:
Remove anonymous users? [Y/n] y
 Отключаем возможность для root логинится к базе mysql удаленно, нажимаем Y:
Disallow root login remotely? [Y/n] y
 Удаляем тестовую базу:
Remove test database and access to it? [Y/n] y
- Dropping test database...
- Removing privileges on test database...
 И в завершение предлагается перезагрузить таблицу привилегий, на что охотно соглашаемся:
Reload privilege tables now? [Y/n] y
После попробуйте подключиться к базе данных mysql с помощью mysqladmin, например:
/usr/bin/mysqladmin status -p
В случае успешного коннекта к базе mysql получите ответ, например:
Uptime: 3176 Threads: 1 Questions: 5 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables 

 Установим PHP

И модуль soap, который требуется для авторизации в phpviretualbox
yum install php php-soap
проверка успешности установки
rpm -qa | grep -i ph
Установка модуля MySQL для PHP
yum install php-mysql
Установка дополнительных модулей (если они вам необходимы)
yum install php-common php-mbstring php-mcrypt php-devel php-xml php-gd
Ну вот и все. Теперь можно в корневом каталоге вашего сервера создать страничку - например index.php со следующим содержимым
<? phpinfo(); ?>
зайдя браузером на свой сервер вы увидите автоматически сгенерированную страничку с полной технической информацией

Установим PHPMyAdmin

yum install phpmyadmin
Теперь надо провести несколько настроек. В файле /etc/httpd/conf.d/phpmyadmin.conf прописать с какого ip адреса разрешить подключение (по умолчанию прописан 127.0.0.1). Прописываем через пробел необходимый адрес.
ИЛИ закоментируем для разрешения всех подключений
<Directory "/usr/share/phpmyadmin">
# Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
</Directory> 
В файле /usr/share/phpmyadmin/config.inc.php найдем строку
$cfg['Servers'][$i]['auth_type'] = ‘cookies‘;
и приведем ее к виду
$cfg['Servers'][$i]['auth_type'] = ‘http‘;
перезагрузим веб-сервер
service httpd restart
Теперь набрав в браузере http://<ip адрес сервера или доменное имя>/phpmyadmin/- получим форму на ввод логина и пароля. Также в файле phpmyadmin.conf перечислено несколько алиасов, поэтому наравне с phpmyadmin можно использовать - phpMyAdmin,mysqladmin или придумать и отредактировать свой алиас.

Установим PHPVirtualBox

После установки скрипт запуска веб службы не работает, нужно создать конфиг /etc/default/virtualbox
VBOXWEB_USER=vbox #Пользователь под которым запускается
VBOXWEB_HOST=192.168.1.1 # IP сервера
VBOXWEB_PORT=18083 # Порт VirtulBox, стандартный 18083
Cкачаем интерфейс phpvirtualbox http://sourceforge.net/projects/phpvirtualbox/
Загрузим на сервер например через WinSCP в директорию /tmp
И выполняем следующие действия
cd /tmp
unzip phpvirtualbox-4.3-0.zip
cp phpvirtualbox-4.3-0 /srv/http/www/phpvirtualbox
cd /srv/http/www/phpvirtualbox
cp ./config.php-example ./config.php 
Загрузим и установим ExtensionPack
cd /tmp/
wget http://download.virtualbox.org/virtualbox/4.3.0/Oracle_VM_VirtualBox_Extension_Pack-4.3.0-89960.vbox-extpack
VBoxManage extpack install /tmp/Oracle_VM_VirtualBox_Extension_Pack-4.3.0-89960.vbox-extpack
Перезагрузимся
reboot

На этом установка закончена, но так как мне лень ISO копировать через ssh, я создал папку и расшарил через Samba

Поставлю еще и Samba

В первую очередь необходимо настроить или отключить SELinux. 
Для отключения SELinux в CentOS 6 откройте файл /etc/selinux/config, например, редактором nano
nano /etc/selinux/config
И замените значение переменной SELINUX c enforcing на disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 
После изменения настроек перезагрузите систему
reboot
Затем выполните установку Samba
yum install samba samba-common cups-libs samba-client
Создайте папку, к которой вы будете предоставлять общий доступ и настройте на нее права
mkdir -p /ISO
chown -R root:users /ISO
chmod -R 775 /ISO
Откройте файл для конфигурации
nano /etc/samsba/smb.conf
Внесите в него свой конфиг, например
[global]
        workgroup = WORKGROUP
        server string = VBOX ISO
        # logs split per machine
        log file = /var/log/samba/log.%m
        # max 50KB per log file, then rotate
        security = SHARE
        passdb backend = tdbsam
        load printers = yes
        cups options = raw
[iso]
        comment = NO
        path = /ISO
        guest ok = yes
        writable = yes
        create mask = 777
       directory mask = 777
Сохраните файл кофигурации

У меня в нем разрешен полный доступ к папке ISO на сервере

Настройте автоматический запуск службы samba при загрузке CentOS и запустите саму службу
chkconfig smb on
/etc/init.d/smb restart
На этом все!) 

Комментариев нет:

Отправка комментария