Как быстро настроить Ubuntu Server 10.10 — apache, nginx, etc…

Пара тарифов

Эти тарифы на хостинг почти одинаковые, существенная разница в технологии виртуализации. Оказывается. А я думал — о, разница два бакса, зато любую ОС поставить можно, конечно надо брать за 17$! Ну и взял.
А цель какая моего хостинга? Обычный вебсервер в интернете. Так че переплачивать, тем более у того который на технологии Xen paravirtualization есть веские доводы в его пользу: он работает быстрее, есть возможность нажатием кнопки делать ПОЛНУЮ резервную копию системы (а вот на Xen HVM фига, нету там возможности по нажатию кнопки всю систему забакапить).

Таким образом, возникла задача переехать на новую VPS (с VDS на VPS :)))
Да еще из преимуществ, как можно видеть в тарифах, это cPanel и DirectAdmin — хотя я не проверял, это надо с поддержкой общаться. Они кстати мне и посоветовали перейти на другую технологию, после того как я с ними плотно пообщался и рассказал про свои цели и задачи (русские, общался я с двумя сотрудниками — Иван и Павел, откровенно скажу — ни на одном хостинге такого отзывчивого, щедрого саппорта у меня еще не было, согласитесь, это очень важный критерий).

Как был организован переезд: я все обсудил с саппортом, мне подключили новую VPS на новом IP, выделили внутренний ftp 100 гигабайт, который доступен обеим системам, и я потихоньку все настраивал, перетаскивал сайты (ой как приятно с внутренним ftp, гигабайты перелетают как байты). А ребята из поддержки ждали, когда я закончу переезд, чтобы поменять местами у двух виртуалок IP адреса (я старую не сразу отрубил, еще какое-то время проверял все ли аккуратно перенеслось).
Конечно основная проверка — это работоспособность сайтов, делал очень просто: как только перенес MySQL базы, скопировал 1 в 1 каталоги сайтов, настроил вебсерверы (nginx+apache) — я проверил каждый переносимый сайт на работоспособность, записав в hosts на своей локальной, домашней ОС доменное имя проверяемого сайта и IP адрес новой VPS, таким образом браузеру сайт отдает новый VPS, а не тот который прописан в DNS. И потом при обмене IP адресами двух виртуалок произошел абсолютно незаметный переезд, а hosts обратно поправил :)

Как я делал настройку Ubuntu Server 10.10 — apache, nginx

Во-первых гуглил немного, нашел неплохой мануал по настройке связки nginx+apache и до кучи там еще eAccelerator и MEMCACHED. Делал и записывал, что делаю, вот эти записи и выложу здесь себе же на память:

Быстрая настройка по пунктам сервер 10.10

1. Русские буквы:
dpkg-reconfigure console-setup
locale-gen ru_RU.utf8
dpkg-reconfigure locales

ребут

2. mc, Sendmail
apt-get update
apt-get upgrade
apt-get install mc console-cyrillic
apt-get install sendmail

3. apache mysql php
aptitude install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl phpmyadmin

4. Разрешаем модули апача, я правда не все разрешил :)
//a2enmod ssl
a2enmod rewrite
//a2enmod suexec
a2enmod include
/etc/init.d/apache2 restart

5. php.ini
post_max_size = 100M
upload_max_filesize = 80M;

6. /etc/apache2/apache2.conf
в двух местах MaxClients 20
AddDefaultCharset utf-8

7. ming.ini заменить # на ; в модулях php

8. # phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
Вот ее и меняю на какую-нибудь известную только мне абра-кадабру, типа:
Alias /ghdgtertyjkhg /usr/share/phpmyadmin

/etc/init.d/apache2 restart

9. Создание пользователей баз данных. Пароль устанавливается такой же как из скрипта, чтобы работало автосоздание сайтов
Пример:
GRANT USAGE ON * . * TO ‘mysqluser’@’localhost’ IDENTIFIED BY ‘mysqlpassw’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

GRANT ALL PRIVILEGES ON `mysqluser_%` . * TO ‘mysqluser’@’localhost';

Впоследствии скрипт создает базы, доступные этому пользователю с этим паролем

10. NGINX
apt-get install nginx

aptitude install libapache2-mod-rpaf

nano /etc/apache2/ports.conf :

NameVirtualHost *:81
Listen 81
— пуляем на 81 порт апач

=============nginx.conf===================
user www-data;
worker_processes 2;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
# multi_accept on;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
access_log /var/log/nginx/access.log;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;

client_max_body_size 100m;

gzip on;
gzip_proxied any;
gzip_min_length 1100;
gzip_http_version 1.0;
gzip_buffers 4 8k;
gzip_comp_level 9;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

gzip_disable «MSIE [1-6].(?!.*SV1)»;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

=================================================================================

11. MEMCACHED и eAccelerator

aptitude install memcached

aptitude install php5-dev
aptitude install make
cd /tmp/
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar xvjf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
phpize
./configure —enable-eaccelerator=shared
make
make install

Создаем папку кеша:

mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator

Редактируем конфиг PHP:

nano /etc/php5/apache2/php.ini

Добавляем строки в самом верху:

[PHP]

; eAccelerator configuration
; Note that eAccelerator may also be installed as a PHP extension or as a zend_extension
; If you are using a thread safe build of PHP you must use
; zend_extension_ts instead of zend_extension
extension = «eaccelerator.so»
eaccelerator.shm_size = «16»
eaccelerator.cache_dir = «/var/cache/eaccelerator»
eaccelerator.enable = «1»
eaccelerator.optimizer = «1»
eaccelerator.check_mtime = «1»
eaccelerator.debug = «0»
eaccelerator.filter = «»
eaccelerator.shm_max = «0»
eaccelerator.shm_ttl = «0»
eaccelerator.shm_prune_period = «0»
eaccelerator.shm_only = «0»
eaccelerator.compress = «1»
eaccelerator.compress_level = «9»
eaccelerator.allowed_admin_path = «/var/www/eaccelerator»

итог:

service apache2 restart
service nginx restart
service memcached restart

Ну ффсе. А! скрипт… написал скрипт, который помогает. За пару сек создает базу данных, копирует дистрибутив WordPress в папку, которую создает по имени сайта в нужном каталоге, в общем все как доктор прописал. Выложу, когда-нибудь, если надо будет. Кому-нибудь. За что-нибудь звонкое.

Запись опубликована в рубрике Дешевый хостинг с метками . Добавьте в закладки постоянную ссылку.

Один комментарий к Как быстро настроить Ubuntu Server 10.10 — apache, nginx, etc…

  1. Игорь пишет:

    Это и к 32 бит подойдёт и на 64?
    А php через Fasf cgi может нужно и как сделать?

Комментарии запрещены.