Очень удобно иметь на рабочей машине несколько виртуальных систем. Так больше порядка. Для каждого проекта свой набор серверов. О том, как поднять необходимое в 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
sudo apt-get install php5
apt-cache search php5
Подключаем модули, необходимые для работы PHPExcel (после запуска убедиться, что установлены расширения ZIP и XML, при помощи phpinfo()):
sudo apt-get install php5-gd
Подключаем модули для работы с базами данных PostgreSQL и MySQL:
sudo apt-get install php5-pgsql php5-mysql
Предоставляем возможность для работы с базой данных MS SQL Server:
sudo apt-get install php5-sybase php5-odbc freetds-common
sudo nano /etc/freetds/freetds.conf
[global]
tds version = 7.0
client charset = UTF-8
Средства отладки
sudo apt-get install php5-dev php-pear build-essential
sudo pecl install xdebug
sudo nano /etc/php5/apache2/php.ini
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
sudo service apache2 restart
sudo apt-get install php5-xcache
sudo service apache2 restart
apt-cache search php5
Подключаем модули, необходимые для работы PHPExcel (после запуска убедиться, что установлены расширения ZIP и XML, при помощи phpinfo()):
sudo apt-get install php5-gd
Подключаем модули для работы с базами данных PostgreSQL и MySQL:
sudo apt-get install php5-pgsql php5-mysql
Предоставляем возможность для работы с базой данных MS SQL Server:
sudo apt-get install php5-sybase php5-odbc freetds-common
sudo nano /etc/freetds/freetds.conf
[global]
tds version = 7.0
client charset = UTF-8
Средства отладки
sudo apt-get install php5-dev php-pear build-essential
sudo pecl install xdebug
sudo nano /etc/php5/apache2/php.ini
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
sudo service apache2 restart
sudo apt-get install php5-xcache
sudo service apache2 restart
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