1. Bitcoin адрес для пожертвований: 1dapfB97R98wg8J3hknWpMDJ7P61CWjNn
    Скрыть объявление
  2. Участникам форума доступна Skype конференция. Присоединяйтесь!
  3. Наши основные группы и каналы: VK, Twitter. Подписывайтесь!
  4. Форум работает за счет ваших пожертвований, поэтому у нас нет внешней рекламы.
    Пожертвовать рубль на развитие форума Вы можете по ссылке.
  5. Скрыть объявление
Скрыть объявление
О том как быстро
набрать нужное
число сообщений
написано здесь
Пожертвовать рубль
на развитие
форума можно тут.

Безопасный и шустрый веб-сервер на Debian 7 Обсуждение

Тема в разделе "Linux, Freebsd, *nix", создана пользователем X-ray, 20 июн 2014.

  1. X-ray Шустроган

    Репутация

    1.279 / 2.449


    Автор: X-ray
    Специально для dapf.ru​
    Решил написать статейку (так же добавил ее и на хабру, может пройдет модерацию), статья, прежде всего, ориентирована на новичков и тех, кто держит на одном VPS сразу несколько сайтов, при этом хочет иметь как безопасный, так и шустрый веб-сервер. В качестве веб-сервера у нас будет выступать связка:

    Apache 2.2 + PHP 5.4.4 + MySQL 5.5 + NGINX 1.2.1 + eAccelerator + memcached + vsftpd 3.0.2 + exim.

    Все это чудо будет крутиться на Debian GNU/Linux 7 c ядром 2.6.
    Начнем.
    Итак, прежде всего после установки ОС, выполняем:

    Код (Text):
    1. apt-get update
    2. apt-get dist-upgrade
    Затем одной командой ставим весь необходимый софт:

    Код (Text):
    1. apt-get install htop atop vsftpd exim4-base exim4-daemon-light mailutils rcconf apache2 apache2-mpm-itk nginx mysql-server-5.5 mysql-client-5.5 php5 php5-dev memcached libmysqlclient-dev apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 libapache2-mod-ruby php5-common php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-common php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl make automake checkinstall gcc gzip libreadline-dev libssl-dev libncurses5-dev zlib1g-dev
    В процессе установки, система попросит вас придумать и ввести пароль для пользователя rootБД MySQL, вводим.

    После полной установки софта, приступаем к настройке. Все сайты у нас будут лежать в директории /home/директория_пользователя/директория_сайта, но вы можете разместить их в любой удобной для вас директории. В директории сайта у нас будут 3 поддиректории: tmp (для временных файлов и файлов сессий), logs (логи сайта), public_html (директория сайта).

    Создаем пользователя dapf с одноименной группой, а так же с домашним каталогом и запретом на использование консоли:

    Код (Text):
    1. useradd dapf -b /home -m -U -s /bin/false
    Устанавливаем пароль пользователя dapf:

    Код (Text):
    1. passwd dapf
    Создаем каталоги пользователя с выставлением прав и группы:

    Код (Text):
    1. mkdir -p -m 755 /home/dapf/dapf.ru/public_html
    2. mkdir -p -m 777 /home/dapf/dapf.ru/logs
    3. mkdir -p -m 777 /home/dapf/dapf.ru/tmp
    4. chmod 755 /home
    5. chmod 755 /home/dapf
    6. chmod +t /home/dapf/dapf.ru/logs
    7. chmod +t /home/dapf/dapf.ru/tmp
    8. chown -R dapf:dapf /home/dapf
    Запретим консоль пользователю www-data:

    Код (Text):
    1. usermod -s /bin/false www-data
    Теперь приступим к настройке Apache.

    Включаем необходимые нам модули:

    Код (Text):
    1. a2enmod ssl
    2. a2enmod rewrite
    3. a2enmod suexec
    4. a2enmod include
    Правим конфиг портов в файле /etc/apache2/ports.conf:

    Код (Text):
    1. nano /etc/apache2/ports.conf
    Необходимо заменить 80 порт на 81 (т.к. на 80м у нас будет nginx):

    Код (Text):
    1. NameVirtualHost *:81
    2. Listen 81
    Поскольку у нас VPS слабенький (256 мб ОЗУ), то нам необходимо настроить /etc/apache2/apache2.conf

    Код (Text):
    1. nano /etc/apache2/apache2.conf
    Устанавливаем следующие значения:

    Код (Text):
    1. KeepAlive Off
    2. StartServers 1
    3. MinSpareServers 3
    4. MaxSpareServers 6
    5. ServerLimit 24
    6. MaxClients 24
    7. MaxRequestsPerChild 3000
    8.  
    Теперь, создадим новый VirtualHost (сайт):

    Код (Text):
    1. nano /etc/apache2/sites-available/dapf.ru
    Код (Text):
    1. <VirtualHost *:81>
    2. ServerName www.dapf.ru
    3. ServerAlias dapf.ru
    4. ServerAdmin support@dapf.ru
    5. DocumentRoot "/home/dapf/dapf.ru/public_html"
    6. <Directory />
    7. Options FollowSymLinks
    8. AllowOverride None
    9. </Directory>
    10. <Directory /home/dapf/dapf.ru/public_html/>
    11. Options Indexes FollowSymLinks MultiViews
    12. AllowOverride All
    13. Order allow,deny
    14. allow from all
    15. </Directory>
    16. ErrorLog /home/dapf/dapf.ru/logs/errors.log
    17. LogLevel warn
    18. CustomLog /home/dapf/dapf.ru/logs/access.log combined
    19. AssignUserId www-data dapf
    20. php_admin_value open_basedir "/home/dapf/:."
    21. php_admin_value upload_tmp_dir "/home/dapf/dapf.ru/tmp"
    22. php_admin_value session.save_path "/home/dapf/dapf.ru/tmp"
    23. </VirtualHost>
    Благодаря apache2-mpm-itk, мы имеем возможность использовать в конфигах виртуалхоста директиву AssignUserId www-data dapf, которая позволяет запретить web-шеллу, править файлы нашего проекта, кроме тех, на которых стоят права o+w. Т.е. apache сможет спокойно прочитать php-файл, выполнить его и отдать в браузер, но не сможет внести изменения в его содержимое, что создаст определенные проблемы для хэкеров. Если хотите разрешить апачу править файлы, то используйте вместо www-data dapf, значение dapf dapf. Директивы open_basedir, upload_tmp_dir, session.save_path, исключают получение сессий с соседнего сайта и переходы выше пользовательской директории.

    Включаем сайт:

    Код (Text):
    1. a2ensite dapf.ru
    И перезагружаем апач:

    Код (Text):
    1. service apache2 restart
    С апачем закончили, теперь настроим nginx.

    Для начала настроим gzip сжатие, назначим пользователя www-data и установим 1 ядро процессора.

    Код (Text):
    1. nano /etc/nginx/nginx.conf
    Код (Text):
    1. user www-data;
    2. worker_processes 1;
    3. pid /var/run/nginx.pid;
    4. error_log /var/log/nginx/error.log;
    5. events {
    6. worker_connections 768;
    7. # multi_accept on;
    8. }
    9. http {
    10. ##
    11. # Basic Settings
    12. ##
    13. sendfile on;
    14. tcp_nopush on;
    15. tcp_nodelay on;
    16. keepalive_timeout 65;
    17. types_hash_max_size 2048;
    18. # server_tokens off;
    19. # server_names_hash_bucket_size 64;
    20. # server_name_in_redirect off;
    21. include /etc/nginx/mime.types;
    22. default_type application/octet-stream;
    23. ##
    24. # Logging Settings
    25. ##
    26. access_log /var/log/nginx/access.log;
    27. error_log /var/log/nginx/error.log;
    28. ##
    29. # Gzip Settings
    30. ##
    31. gzip on;
    32. gzip_disable "msie6";
    33. # gzip_vary on;
    34. gzip_proxied any;
    35. gzip_comp_level 7; #Level Compress
    36. gzip_buffers 16 8k;
    37. gzip_http_version 1.1;
    38. gzip_types text/plain text/css application/json application/x-javascri$
    39. ##
    40. # Virtual Host Configs
    41. ##
    42. include /etc/nginx/conf.d/*.conf;
    43. include /etc/nginx/sites-enabled/*;
    44. }
    45.  

    После, создадим новый конфиг нашего виртуалхоста:

    Код (Text):
    1. nano /etc/nginx/sites-enabled/dapf.ru
    Код (Text):
    1. server {
    2. listen 80;
    3. server_name dapf.ru www.dapf.ru;
    4. access_log /var/log/nginx.access_log;
    5. location ~* .(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|html|htm|mp3|docx|xlsx)$ {
    6. root /home/dapf/dapf.ru/public_html/;
    7. error_page 404 = @fallback;
    8. index index.html index.php;
    9. access_log off;
    10. expires 30d;
    11. }
    12. location ~ /.ht { deny all; }
    13. location / {
    14. proxy_pass http://127.0.0.1:81/;
    15. proxy_set_header X-Real-IP $remote_addr;
    16. proxy_set_header X-Forwarded-for $remote_addr;
    17. proxy_set_header Host $host;
    18. proxy_connect_timeout 60;
    19. proxy_send_timeout 90;
    20. proxy_read_timeout 90;
    21. proxy_redirect off;
    22. proxy_set_header Connection close;
    23. proxy_pass_header Content-Type;
    24. proxy_pass_header Content-Disposition;
    25. proxy_pass_header Content-Length;
    26. }
    27. location @fallback {
    28. proxy_pass http://127.0.0.1:81;
    29. proxy_set_header Host $host;
    30. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    31. proxy_set_header X-Forwarded-Proto $scheme;
    32. proxy_set_header X-Real-IP $remote_addr;
    33. }
    34. }
    Теперь у нас за всю динамику отвечает апач, а за статику nginx, при появлении ошибки 404, которая может возникнуть при использования mod_rewrite(ЧПУ), будет вызываться функция @fallback которая перенаправит запрос на апач для проверки.

    Перезагружаем nginx: service nginx restart

    Теперь настроим FTP, правим файл конфига vsftpd

    Код (Text):
    1. nano /etc/vsftpd.conf
    Удаляем всё и вставляем следующие настройки:

    Код (Text):
    1. listen=YES
    2. anonymous_enable=NO
    3. local_enable=YES
    4. write_enable=YES
    5. pasv_min_port=50000
    6. pasv_max_port=60000
    7. dirmessage_enable=YES
    8. xferlog_enable=YES
    9. file_open_mode=0644
    10. local_umask=022
    11. connect_from_port_20=YES
    12. ascii_upload_enable=YES
    13. ascii_download_enable=YES
    14. ftpd_banner=Welcome to our FTP service.
    15. chroot_local_user=YES
    16. allow_writeable_chroot=YES
    17. secure_chroot_dir=/var/run/vsftpd
    18. pam_service_name=vsftpd
    19. rsa_cert_file=/etc/ssl/certs/vsftpd.pem
    Это позволит запретить вход анонимным пользователям, разрешить использование старых FTP клиентов, а так же ограничить перемещение пользователей только их домашним каталогом.

    Теперь, необходимо поправить файл /etc/pam.d/vsftpd, чтобы включить возможность авторизации FTP пользователям, не имеющим доступ к консоли.

    Код (Text):
    1. nano /etc/pam.d/vsftpd
    Находим и комментируем строку : auth required pam_shells.so

    Код (Text):
    1. #auth required pam_shells.so
    Перезагружаем vsftpd и пробуем войти:

    Код (Text):
    1. service vsftpd restart
    Если у вас возникла ошибка: 500 OOPS: vsftpd: refusing to run with writable root inside chroot(), не расстраиваемся это баг vsftpd и решается простым обновлением, для этого выполняем:

    Код (Text):
    1. echo "deb http://ftp.us.debian.org/debian jessie main contrib non-free" >> /etc/apt/sources.list
    2. aptitude update
    3. aptitude upgrade vsftpd
    4. echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
    5. service vsftpd restart
    Возможно, вам придется заново поправить конфиги vsftpd, но после перезапуска сервиса, всё будет работать нормально.

    Теперь настроим MySQL.

    Сначала my.conf

    Код (Text):
    1. nano /etc/mysql/my.cnf
    2.  
    Устанавливаем следующие значения директив:

    Код (Text):
    1. key_buffer = 16K
    2. max_allowed_packet = 1M
    3. thread_stack = 64K
    4. table_cache = 4
    5. sort_buffer = 64K
    6. net_buffer_length = 2K
    Если вы не используете таблицы InnoDB, можно добавить директиву skip-innodb

    Далее, создадим пользователя и его БД, выполнив команду:

    Код (Text):
    1. echo "CREATE USER 'база_данных'@'localhost' IDENTIFIED BY 'пароль_пользователя'; GRANT USAGE ON * . * TO 'база_данных'@'localhost' IDENTIFIED BY 'пароль_пользователя' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE IF NOT EXISTS база_данных DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; ; GRANT ALL PRIVILEGES ON база_данных . * TO 'база_данных'@'localhost';" | mysql --user=root --password=пароль_рута_мускула mysql
    2.  
    Значения база_данных, пароль_пользователя, пароль_рута_мускула указываем свои.

    Основную часть работы мы закончили, теперь необходимо настроить PHP+ eAccelerator+ exim.

    Начнем с настройки exim, выполняем:

    Код (Text):
    1. dpkg-reconfigure exim4-config
    Выбираем ОК, потом internet site; mail is sent and received directly using SMTP, указываете ваш System mail name (у меня это dapf.ru), IP-addresses to listen on for incoming SMTP connections можно оставить просто 127.0.0.1, далее по вкусу, пока не дойдете до Root and postmaster mail recipient, там указываем ваш email на который будут возвращаться письма.

    Выполняем для проверки:

    Код (Text):
    1. echo "test" | mail -s Test ваш@email.com
    Если письмо пришло, значит все отлично, если нет, то возвращаемся и перенастраиваем exim.

    Теперь установим eAccelerator.

    Качаем последнюю на данный момент версию и распаковываем:

    Код (Text):
    1. wget https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/master -O ea.tar.gz
    2. tar xvfz ea.tar.gz
    Переходим в директорию с исходниками eaccelerator(у меня это eaccelerator-eaccelerator-42067ac) и устанавливаем:

    Код (Text):
    1. cd eaccelerator-eaccelerator-42067ac
    2. phpize
    3. ./configure
    4. make
    5. make install
    Создадим директорию для кеша eAccelerator

    Код (Text):
    1. mkdir -p /var/cache/eaccelerator
    2. chmod 0777 /var/cache/eaccelerator
    Приступим к настройке PHP.

    Редактируем файл php.ini

    Код (Text):
    1. nano /etc/php5/apache2/php.ini
    Здесь нам необходимо добавить настройки eAccelerator, sendmail в качестве которого у нас exim, настройки безопасности и т.д.

    Добавляем перед [ PHP ] настройки для eAccelerator

    Код (Text):
    1. ; eAccelerator configuration
    2. ; Note that eAccelerator may also be installed as a PHP extension or as a zend_extension
    3. ; If you are using a thread safe build of PHP you must use
    4. ; zend_extension_ts instead of zend_extension
    5. extension = "eaccelerator.so"
    6. eaccelerator.shm_size = "16"
    7. eaccelerator.cache_dir = "/var/cache/eaccelerator"
    8. eaccelerator.enable = "1"
    9. eaccelerator.optimizer = "1"
    10. eaccelerator.check_mtime = "1"
    11. eaccelerator.debug = "0"
    12. eaccelerator.filter = ""
    13. eaccelerator.shm_max = "0"
    14. eaccelerator.shm_ttl = "0"
    15. eaccelerator.shm_prune_period = "0"
    16. eaccelerator.shm_only = "0"
    17. eaccelerator.compress = "1"
    18. eaccelerator.compress_level = "9"
    19. eaccelerator.allowed_admin_path = "/var/www/eaccelerator"
    Теперь раскомментируем sendmail_path и укажем путь до exim

    Код (Text):
    1. sendmail_path = /usr/sbin/exim -t
    Далее выставим следующие настройки:

    Код (Text):
    1. ;Отключаем вывод ошибок и включаем их запись в файл
    2. display_errors =Off
    3. log_errors=On
    4. ;Отключаем опасные функции
    5. disable_functions = exec,ini_get,ini_get_all,parse_ini_file,passthru,php_uname,popen,proc_open,shell_exec,show_source,system,dl, show_source, readfile, popen, cwd,getcwd
    6. ;По вкусу можно отключить и функции: diskfreespace, disk_free_space, disk_total_space, eval, fileperms, fopen, opendir, phpinfo, phpversion, posix_getpwuid, posix_getgrgid, posix_uname, но не рекомендуется.
    7. ;Прочие настройки
    8. error_reporting = E_ALL & ~ E_NOTICE
    9.  

    Остальные настройки PHP делайте по вашему желанию, благо мануалов куча.

    Настройку SSH я рассматривать не буду, а остановлюсь на фаерволе, т.к. в Debian по умолчанию разрешены все подключения.

    Создаем файл my.iptables.rules

    Код (Text):
    1. nano /etc/my.iptables.rules

    Код (Text):
    1. *filter
    2. -A INPUT -i lo -j ACCEPT
    3. -AINPUT -d 127.0.0.0/8 -jREJECT
    4. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    5. -A OUTPUT -j ACCEPT
    6. -A INPUT -p tcp --dport 80 -j ACCEPT
    7. -A INPUT -p tcp --dport 443 -j ACCEPT
    8. -A INPUT -p tcp --dport 20 -j ACCEPT
    9. -A INPUT -p tcp --dport 21 -j ACCEPT
    10. -A INPUT -p tcp --dport 50000 -j ACCEPT
    11. -A INPUT -p tcp --dport 60000 -j ACCEPT
    12. -A INPUT -p tcp -m state --state NEW --dport 20 -j ACCEPT
    13. -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
    14. -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
    15. -A INPUT -j REJECT
    16. -A FORWARD -j REJECT
    17. COMMIT
    18.  
    Активируем и сохраняем правила:

    Код (Text):
    1. iptables-restore < /etc/my.iptables.rules
    2. iptables-save > /etc/iptables.rules
    3.  
    Проверяем командой iptables –L

    Прописываем загрузку в файле /etc/network/interfaces

    Код (Text):
    1. nano /etc/network/interfaces
    После iface lo inet loopback, добавляем

    Код (Text):
    1. pre-up iptables-restore < /etc/iptables.rules
    Сохраняем и перезагружаем VPS.

    После этого мы имеем шустрый и безопасный веб-сервер.

    А если хэкер вдруг зальет шелл, то увидит такую картину:
    12222.png

    Все желающие (Хабиля это для тебя :) ) так же могут написать скрипт для автоматизации добавления пользователя с созданием пользовательских директорий, виртуального хоста и БД.

    Последние данные очков репутации:
    Habilis: 15 Очки (I like) 20 июн 2014
    Igor Nko, kupidon87, Habilis и ещё 1-му нравится это.
  2. Habilis Прииикииинь! ;)

    Репутация

    456 / 309


    Рейка, только смотри мыла отправленные таким образом не могут содержать картинок (html img) И ссылок, Иначе большенство мыльных компаний кладут такие письма в спам.
    Из личного опыта, мыло может содержать текст и html. чтобы появлятся в инбоксе.
    А так думаю надо типо признанный ССЛ сертификат использовать чтобы мыла с линками в инбокс приходили (не проверенная информация)

     
  3. X-ray Шустроган

    Репутация

    1.279 / 2.449


    Я знаю, что есть такая тема как DKIM (DomainKeys Identified Mail) которая кстать у нас прикручена, думаю с ней не нужны сертификаты.

     
  4. Habilis Прииикииинь! ;)

    Репутация

    456 / 309


    хз я мыло про новый форум в спаме нашел... когда .... вобщем не важно...

     
  5. X-ray Шустроган

    Репутация

    1.279 / 2.449


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

     
  6. Santehnick Старейшина

    Репутация

    125 / 29


    Поздравляю с инвайтом, а я уже 2 года сижу в рид-онли, так и не решаюсь что-нибудь написать.

     
  7. X-ray Шустроган

    Репутация

    1.279 / 2.449


    Инвайт получить там вообще не проблема. Я запостил эту статью туда и где то через пол часа - час, мне дали инвайт.
    Но сразу скажу, что толку от этого инвайта никакого, вместо дельных советов, я там увидел сплошной срач и придирки с кучей минусов, хотя было и несколько дельных советов, но всего несколько, а так народ на хабре думать не любит, они все любят тренд php 5.6, MariaDB, Node.js и все такое.
    Руками делать, тоже не умеют для них установка сервера и его настройка это поставить какой нибудь cpanel, ISP, FastPanel.
    Как простой пример объективности хабры:
    Чувак даже не прочитал статью, а написал:
    Естественно получил объективный ответ от меня:
    Он конечно потом извинился и написал, что не заметил apache2-mpm-itk, но мне влепили -4, а ему +3
    Или вот:
    Человек тоже не читал, а уже пишет, ну и получает ответ:
    Мне -1, а ему +1
    Вот такая вот хабра.
    В общем адекватность их пользователей у меня под сомнением, хотя раньше я был лучшего мнения о ней.

    Так что сразу дам совет, тем кто хочет влится в хабру, лучше не отвечайте на комменты, а то заработаете минусов и потрепаете нервы, пусть сами срутся у себя. Их карма (которая ничего не значит, а только режет твой функционал) зарабатывается вот такими вот тупыми и не объективными комментами.

    Ну да ладно, я не ставил себе цель заработать кармы или стать топ юзером хабры, основная цель у меня была разместить ссылку dapf.ru в статье на хабре и я этого добился, т.с. смог нас пропиарить, думаю это немного нам поднимет тиц.

    А что касается статьи, то вчера я в ней выявил несколько уязвимых мест, которые необходимо исправить (причем юзеры хабры вообще на них не указали), как закончу, приведу статью в порядок и может быть немного сокращу.

     
    Последние данные очков репутации:
    mZer0ne: 20 Очки (Очень полезно) 21 июл 2014
    mZer0ne нравится это.
  8. Santehnick Старейшина

    Репутация

    125 / 29


    Написать можно, но ради инвайта не хочется, а о чем я могу написать, писалось до меня там уже много раз. Мне итак впринципе нормально, но порой хочется спросить что-то в комментах по теме у человека, а написать нельзя.

     
  9. kupidon87 Старейшина

    Репутация

    105 / 459



    А можно ссылочку на скачку самого образа??

     
  10. Habilis Прииикииинь! ;)

    Репутация

    456 / 309


  11. X-ray Шустроган

    Репутация

    1.279 / 2.449


    Насчет сервера, если использовать связку nginx + apache2, есть риск выхода из дирректории, поэтому кому нужна безопасность лучше поставить только apache2

     
  12. Santehnick Старейшина

    Репутация

    125 / 29


    Кто объяснит зачем делать связку nginx+apache, если есть прекрасная альтернатива nginx+php-fpm если речь исключительно идет об php-проекте?

     
  13. Habilis Прииикииинь! ;)

    Репутация

    456 / 309


    Это рейкины заморочьки (наверное он секретно еще с десяток проектов на Руби и Питоне держит)

     
  14. Insallah Schutzstaffel Gruppenführer Старейшина

    Репутация

    682 / 368


    дай ссылку на пост на хабре.

     
  15. ManN Школьник

    Репутация

    20 / 19


    Код (Text):
    1. Пакеты, имеющие неудовлетворённые зависимости:
    2. apache2-mpm-itk : Конфликтует: apache2-mpm
    3. apache2-mpm-prefork : Конфликтует: apache2-mpm
    4. E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
    Вылезла вот такая хрень ... может быть я использую другой образ системы

     
  16. X-ray Шустроган

    Репутация

    1.279 / 2.449


    Нет это не из-за системы. Просто я пакетов много туда запихал лишних, вообще установка такая:
    Код (Text):
    1. apt-get update
    2. apt-get dist-upgrade
    3. apt-get install nano rcconf mc atop htop checkinstall autoconf make automake gcc gzip unzip
    4. apt-get install apache2
    5. apt-get install mysql-server-5.5 mysql-client-5.5
    6. apt-get install php5 php5-mysql php5-dev php5-curl php5-mcrypt memcached php5-memcache php5-gd libapache2-mod-php5
    7. apt-get install apache2-mpm-itk
    8. apt-get install exim4-base exim4-config exim4-daemon-light
    9. dpkg-reconfigure exim4-config
    Надо будет потом статью переписать, все забываю.

     
  17. djek Старейшина

    Репутация

    0 / 3


    Эх бы я бы убрал отсюда apache и использовал php-fpm+nginx.

     
  18. Habilis Прииикииинь! ;)

    Репутация

    456 / 309


    Да вот и ЙА Х-Рейке говорил не заморачивайся ты так с двумя вебсерверами, можно проще (в смысле управления) все сделать . И не на столько больше нагрузка будет.

     
  19. X-ray Шустроган

    Репутация

    1.279 / 2.449


    Ну да, я и не заморачивался и оставил пока только один апач.

     
  20. kupidon87 Старейшина

    Репутация

    105 / 459


    ну и выложил хорошую установку своими руками=) я на ubuntu пробую поднять нечего не выходит=)) и да Debian & Ubuntu чем то схожи по пакетам и в терминале команды для ядра)