Установка Ubuntu server

Шаг 1. Установка

Скачиваем с сайта http://ubuntu.ru/get торнет фаил(ubuntu-11.04-server-amd64.iso.torrent) и после того как скачали образ, записываем его на CD(USB HDD || Flash).
В процесе установки выбираем установленное ПО:
 - LAMP
 - Mail
 - DHCP
 - DNS
 - OpenSSH

Проблемы при установке: todo

Шаг 2. Настрйка

 1ая проблема - не отображает руские символы.
     Решение
$ sudo dpkg-reconfigure console-setup
В результате выполнения этой команды на экране появится мастер настройки (далее по окнам мастера):
  1. Модель клавиатуры: Выбираем более подходящее устройство. Если ничто не подходит, то Generic 104-key PC.
  2. Для кого предназначена клавиатура: Выбираем Russia
  3. Раскладка клавиатуры: Выбираем Russia
  4. Способ переключения раскладки: Выбираем любой, на ваше усмотрение.
  5. Способ временного переключения раскладки клавиатуры: Выбираем любой, на ваше усмотрение.
  6. Замена для клавиши AltGr (клавиша предназначена для набора специальных символов):Выбирается на ваше усмотрение.
  7. Составная клавиша Compose: Выбирается на ваше усмотрение. Обычно используется клавиша Win(6 пункт).
  8. Используемая кодировка в консоли: Выбираем UTF-8
  9. Используемая таблица символов: Выбираем кириллица славянские языки... (5 пункт)
  10. Консольный шрифт: Выбираем TerminusBold
  11. Размер шрифта: Выбираем 16.
  12. Использовать настройки для консолей: Указываем /dev/tty[1-6], что подтверждает использование настроек для всех виртуальных консолей.
ПС / тк при установке я указал предлгаемые настройки клавиатуры, то мастер настроек начал с пункта 8.

 /etc/rc.local
setupcon exit 0

Ставим пароль
sudo passwd root

Установливаем фаиловый менеджер:
$ sudo apt-get update $ sudo apt-get install mc

Устанавливаем Nginx, Apache2, PHP
$ sudo apt-get install nginx apache2 php5-common php5 php5-cli php5-cgi libapache2-mod-php5 libapache2-mod-rpaf

Устанавливаем MYSQL server
$ sudo apt-get install mysql-server mysql-client libapache2-mod-auth-mysql php5-mysql
 
Устанавливаем тулсы для PHP
$ sudo apt-get install php-pear php5-dev make 
 
Устанавливаем memcached и php5-memcache
$ sudo apt-get install memcached php5-memcache
 
Устанавливаем дополнительное ПО
sudo apt-get install p7zip-rar p7zip-full
 
Устанавливаем ускоритель PHP
1)  eaccelerator - http://sourceforge.net/projects/eaccelerator/files/eaccelerator/
Проект кажится загнулся. Но многие всёравно им пользуются.
$ sudo apt-get install php5-dev
2) Alternative PHP Cache http://pecl.php.net/package/APC

$ sudo apt-get install php-apc

Настрайваем Apache2

/etc/apache2/httpd.conf

<Directory ~ ".*.(svn|git|bzr)">
  Order allow,deny
  Deny from All
  Satisfy All
</Directory>
 
<Files php.ini>
  deny from all 
</Files>
/etc/apache2/ports.conf
NameVirtualHost *:8888
Listen 8888
 
 
Вы можете указать любой другой порт 
$ ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load $ touch /etc/apache2/sites-available/xakki
редактируем /etc/apache2/sites-available/xakki
<VirtualHost *:8868>
        DocumentRoot "/var/www/xakki.ru"
        ServerName xakki.ru
</VirtualHost>
 
<VirtualHost *:8868>
        DocumentRoot "/var/www/demo"
        ServerName demo.xakki.ru
        ServerAlias *.demo.xakki.ru
        ErrorLog /var/log/www/apache2_demo_error.log
</VirtualHost>
 
выполняем
$ ln -s /etc/apache2/sites-available/xakki /etc/apache2/sites-enabled/xakki

редактируем /etc/nginx/nginx.conf
 
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
# Увеличиваем максимальное количество используемых файлов
worker_rlimit_nofile 80000;
 
error_log  /var/log/www/nginx_error.log;
 
events {
    worker_connections  2024;
    # multi_accept on;
    # Использовать эффективный метод epoll для обработки соединений
    #use epoll;
}
 
http {
        #log options
        access_log off;
        log_format  main  '$host $remote_addr [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
        #limit_req_zone  $binary_remote_addr  zone=allthem:30m   rate=300r/m;
        #limit_zone allthem $binary_remote_addr 30m;
        proxy_cache_path /var/cache/nginx levels=2 keys_zone=pagecache:32m inactive=30m max_size=1024m;
 
        #nginx options
        # Директива задаёт таймаут при чтении заголовка запроса клиента
        client_header_timeout  120;
 
        # Директива задаёт таймаут при чтении тела запроса клиента
        client_body_timeout    120;
 
        # Директива задаёт таймаут при передаче ответа клиенту
        send_timeout           120;
 
        # Директива задаёт таймаут, в течение которого keep-alive соединение
        # с клиентом не будет закрыто со стороны сервера
        keepalive_timeout      60;
 
        # Директива разрешает или запрещает использовать sendfile()
        sendfile        on;
        # Директива разрешает или запрещает использовать опции TCP_NOPUSH во FreeBSD
        # Подробнее http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#keepalive_timeout
        tcp_nopush     on;
        tcp_nodelay        on;
        client_max_body_size 50m;
 
        # Директива задаёт размер буфера для чтения заголовка запроса клиента
        #client_header_buffer_size    1k;
 
        # Директива задаёт максимальное число и размер буферов
        #для чтения большого заголовка запроса клиента
        #large_client_header_buffers  4 4k;
        proxy_max_temp_file_size 0;
 
        gzip on;
        gzip_min_length 1100;
        gzip_buffers 64 8k;
        gzip_comp_level 6;
        gzip_http_version 1.1;
        gzip_proxied any;
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
        gzip_disable "MSIE [1-6].(?!.*SV1)";
        #gzip off;
        #gzip_disable "msie6";
        #gzip_vary on;
 
        proxy_set_header Range "";#Запретить nginx проксировать опасный заголовок
 
        # Не отдавать версию nginx в заголовке ответа
        server_tokens off;
 
        types_hash_max_size 2048;
        # server_tokens off;
 
        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;
 
        default_type application/octet-stream;
 
        include mime.types;
        include conf.d/*.conf;
 
        ##
       # Virtual Host Configs
        ##
        include sites-enabled/*;
 
        # Модуль позволяет описывать группы серверов, которые могут использоваться
        # в директивах proxy_pass и fastcgi_pass.
        upstream backend {
                # Директива задаёт имя и параметры сервера. Обратите внимание, мы будем
                # использовать имя "backend" в директиве proxy_pass
                server 127.0.0.1:8888;
        }
 
}



Установка Zend Guard Loader замена Zend Optimizer для php 5.3.x

# sudo mkdir /opt/zend
# wget http://xakki.ru/_content/_userfile/1/files/ZendGuardLoader.zip
# unzip ZendGuardLoader.zip 
# rm ZendGuardLoader.zip 
 
Создадим файл zendGL.ini с которого php будет подключать модуль.
# nano /etc/php5/conf.d/zendGL.ini
 
внутрь файла скопируйте следующие:
zend_extension = /opt/zend/ZendGuardLoader.so
zend_optimizer.optimization_level = 15
 
Перезапустим apache 
# service apache2 restart
 
Что бы проверить что модуль успешно подключился 
# php -v