суббота, 22 июня 2013 г.

Рабочая лошадка, или веб-сервер на виртуальной машине


Очень удобно иметь на рабочей машине несколько виртуальных систем. Так больше порядка. Для каждого проекта свой набор серверов. О том, как поднять необходимое в VirtualBox, читайте ниже и приспосабливайте под свои нужды. (Все продукты бесплатны)

VirtualBox

скачать с сайта и открыть установочный файл в менеджере пакетов
Файл->Настройки->Сеть->Добавить виртуальную сеть хоста
    адрес 33.33.33.1
    маска 255.255.255.0
    DHCP выключить

Виртуальные машины (ВМ) создавать с нуля, а не копировать, чтобы избежать проблем с настройкой сети.

По умолчанию новая ВМ подключена через сетевой адаптер №1 типа NAT. Он позволяет скачивать файлы из Интернета, но не видит соседние ВМ.

sudo apt-get update
sudo apt-get upgrade
ifconfig
    должно присутствовать 2 сетевых интерфейса eth0 и lo
sudo nano /etc/network/interfaces
    auto eth1
    iface eth1 inet static
    address 33.33.33.101
    netmask 255.255.255.0
    network 33.33.33.0
    broadcast 33.33.33.255
    gateway 33.33.33.1

где 33.33.33.101 нужно изменить на IP-адрес создаваемой витуальной машины
sudo shutdown -h now

После выключения виртуальной машины, необходимо изменить её сетевые настройки.
Подключить сетевой адаптер №2 типа "Виртуальный адаптер хоста". Он позволит основной машине видеть виртуальную, и наоборот.
Однако после этого пропадёт связь с Интернетом у ВМ. На время обновления кода этот адаптер нужно отключать.
Проверить, что ifconfig показывает 3 сетевых интерфейса: lo, eth0, eth1.

Чтобы веб-сервер мог работать по сети с базой данных, "NAT" нужно поменять на "Сетевой мост".

FTP

sudo apt-get install vsftpd
sudo nano /etc/vsftpd.conf
    local_enable=YES
    chroot_local_user=YES
    local_root=/home
    anonymous_enable=NO
    write_enable=YES
    local_umask=022
sudo usermod -a -G my_user ftp
sudo service vsftpd restart

Вход через FTP-клиент под именем и паролем пользователя сервера Ubuntu.

Apache

sudo apt-get install apache2
mkdir /home/my_user/www
sudo nano /etc/apache2/sites-available/default
    В двух местах изменить путь /var/www на /home/my_user/www
sudo a2dissite default
sudo a2ensite default
sudo service apache2 restart

PHP


PostgreSQL

Установка версии 8.4
doc
help.ubuntu.com

sudo apt-get install postgresql-8.4
sudo apt-get install postgresql-contrib-8.4
sudo -u postgres psql < /usr/share/postgresql/8.4/contrib/adminpack.sql

Создаём пользователя:
sudo -u postgres psql postgres
    \password postgres
    \q

Открываем порт:
sudo nano /etc/postgresql/8.1/main/pg_hba.conf
    host    all    all    0.0.0.0/0    md5
sudo nano /etc/postgresql/8.4/main/postgresql.conf
    listen_addresses = '33.33.33.105,localhost'
Где 33.33.33.105, адрес машины, на которой устанавливается база данных.

Запускаем:
sudo /etc/init.d/postgresql restart
   

nginx

(бывает нужен иногда для проксирования виртуальных машин)

sudo -s 
nginx=stable # use nginx=development for latest development version 
add-apt-repository ppa:nginx/$nginx 
apt-get update apt-get install nginx


sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/my_site
sudo nano /etc/nginx/sites-available/my_site
     server {
        listen 80;
        server_name 192.168.0.41;
        location / {
                proxy_pass http://33.33.33.126/;
                proxy_redirect off;
        }
    }

sudo ln -s /etc/nginx/sites-available/my_site /etc/nginx/sites-enabled/my_syte
nginx -t
sudo service nginx restart


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

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