• Главная
    Главная Страница отображения всех блогов сайта
  • Категории
    Категории Страница отображения списка категорий системы блогов сайта.
  • Теги
    Теги Отображает список тегов, которые были использованы в блоге
  • Блоггеры
    Блоггеры Список лучших блоггеров сайта.
  • Блоги групп
    Блоги групп Страница списка лучших командных блогов.
  • Авторизация
    Войти Login form

Настройка lamp сервера ubuntu

  • Размер шрифта: Больше Меньше
  • Подписаться на обновления

CYROOT inc. ApacheНаписать данную статью у меня давно чесались руки, но было всё не до этого пока вчера я не провёл ряд тестов и решил опробовать связку Apache 2 + nginx + php 5 + MySQL + memcached. Меня интересовала настройка данной связки для работы сервера в облачной структуре Amazon EC2. Напомню, сейчас действует предложение компании согласно которому любой пользователь имеет возможность получить минимальный VDS совершенно бесплатно (при регистрации нужен 1 доллар на пластиковой карте для активации). Начитавшись материалов на данную тему решил разместить порядок действий по настройке, может кому то окажется полезным и в случае чего самому тоже пригодится. И так поехали...

Для начала нужно определиться какой образ будем разворачивать в среде EC2? Я решил использовать Ubuntu. Для этого переходим на сайт дистрибутива в раздел для бизнес использования. Отметим что на сайте есть большой выбор из практически всех версий которые представлены уже в подготовленном формате AMI для разворачивания в облачной службе. Я выбрал вариант для EBS с архитектурой i386 для серверов расположенных в европе. если у Вас уже есть учётная запись в Amazon то образ можно развернуть одним кликом мыши.

после успешной установки образа (занимает не более 5 минут) нас ждёт увлекательная работа по настройке LAMP сервера на основе Apache с фронтэндом из Nginx. Такой выбор обусловлен возможностью Nginx выступать в роли прокси для отдачи всей статики разгрузив тем самым ресурсы Apache для выполнения только php запросов. Начнём...

Первым делом необходимо сменить пароли для пользователя по умолчанию и root

sudo passwd root
sudo passwd ubuntu

Далее для удобства работы предлагаю выполнить команду su для перехода к учётной записи с повышенными полномочиями root. На время выполнения настройки системы это сократит ввод перед практически каждой командой параметра sudo. Отметим что работа в превилигированном окружении требует повышенного внимания.  Первым делом я удалил оболочку byobu потому как лично меня она раздражает да и настраивать её под себя у меня не бывает времени поэтому... apt-get remove byobu. Перед тем как начать настраивать систему необходимо обновить пакеты вот две команды Вам в помощь: aptitude update и aptitude upgrade. Учитывая недавний выход ветки ядра 3.0.X обновлений будет не мало... Рекомендую установить следующие пакеты для разрешения зависимости при установки пакета webmin и комфортной работы с файловым менеджером mc

sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl mc wget g++
устнаовка webmin:
wget http://citylan.dl.sourceforge.net/project/webadmin/webmin/1.560/webmin_1.560_all.deb (на момент написания самая свежая версия)
dpkg -i webmin*
apt-get -f install

На данном этапе подготовка системы завершена, и мы можем приступить непосредственно к установке и настройке LAMP Установка всех необходимых пакетов осуществляется одной командой:

apt-get 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

Отметим несколько важных моментов:

Web server to reconfigure automatically:
Configure database for phpmyadmin with dbconfig-common? NO 

Теперь необходимо разрешить использование модулей Apache

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

Теперь правим конфигурацию сайта по умолчанию, в дальнейшем можно использовать его  при создании виртуалхостов:
nano /etc/apache2/sites-available/default (все стираем и делаем так как в примере, будьте внимательны под Ваши задачи могут быть отличия; порт 81 это не ошибка, так и должно быть,  80й порт у нас будет nginx, и в апачь передавать только запросы на динамику)

Открыть листинг

[code]

 

        ServerAdmin webmaster@имя_сайта

 

        DocumentRoot /var/www/имя_сайта

       

                Options FollowSymLinks

                AllowOverride All

       

       

                Options Indexes FollowSymLinks MultiViews

                AllowOverride All

                Order allow,deny

                allow from all

       

 

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

       

                AllowOverride All

                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

                Order allow,deny

                Allow from all

       

 

        ErrorLog /var/log/apache2/error.log

 

        # Possible values include: debug, info, notice, warn, error, crit,

        # alert, emerg.

        LogLevel warn

 

        CustomLog /var/log/apache2/access.log combined

 

    Alias /doc/ "/usr/share/doc/"

   

        Options Indexes MultiViews FollowSymLinks

        AllowOverride All

        Order deny,allow

        Deny from all

        Allow from 127.0.0.0/255.0.0.0 ::1/128

   

 

[/code]

Создадим симлинк на файл /etc/apache2/sites-available/default в папке /etc/apache2/sites-enabled/

Теперь установим nginx + apache2-mod-rpaf Я предпочёл ставить из PPA

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
aptitude install libapache2-mod-rpaf
nano /etc/apache2/ports.conf

NameVirtualHost *:81
Listen 81

Не забываем создать каталог для нашего сайта в /var/www/  Далее настраиваем виртуальный хост apache. Копируем конфигурацию по умолчанию: (и правим его под свой домен)

cd /etc/apache2/sites-available
cp ./default /etc/apache2/sites-enabled/имя_сайта

Перейдём к настройке Nginx, настроим gzip сжатие. И сам nginx (worker_processes 1; ставим равному количеству ядер в процессоре). Открываем конфиг: nano /usr/local/etc/nginx/nginx.conf вместо имеющегося пишет вот этот.

Открыть листинг

[code]

user www-data;
worker_processes 1;

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

events {
worker_connections 1024;
}

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;


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;


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

[/code]

Теперь создадим конфиг для нашего виртуалхост:  nano /etc/nginx/sites-enabled/имя_сайта

Открыть листинг

[code]server {
listen 80;
server_name имя_сайта;
access_log /var/log/nginx.access_log;
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /var/www/имя_сайта/;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}
location / {
proxy_pass http://127.0.0.1:81/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}[/code]

Устанавливаем memcached и перезапускаем сервисы:

aptitude install memcached

service apache2 restart
service nginx restart
service memcached restart

Привязка к тегам Apache Linux Webserver Сисадмин
в разделе: Полезные советы Просмотров: 3399
0
  • Никаких комментариев пока не было создано. Будьте первым комментатором.

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

Гость
Гость Вторник, 18 Июнь 2019