Документация по ОС FreeBSD Воскресенье, 28.04.2024, 16:20
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Apache

Установка связки Apache22+php5+mysql5 [2010]

В интернете много различных руководств по созданию связки Apache22+php5+mysql5. Попробую и я внесни свою лепту. Но чуток усложним задачу: попробуем запустить виртуальный хост от имени другого пользователя, отличного от стандартного www, что позволит нам повысить безопастность сервера.

Обновляем порты, приводим систему в идеального состояние и приступаем. Для начала, устанавливаем MySQL сервер (описанно тут). Дальше, идем в директорию веб сервера и делаем небольшие изменения:

10:10 user@ns [/usr/ports/www/apache22]#vi Makefile
#WITH_MPM?=     prefork # or worker, event, itk
WITH_MPM?=      itk

Заменяем как я показал, после чего выполняем следующее:

10:12 user@ns [/usr/ports/www/apache22]#make config
 Options for apache-itk 2.2.14_5                   
 │ ┌────────────────────────────────────────────────────────────────┐ │
 │ │[ ] APR_FROM_PORTS        Use devel/apr as APR (preferred)                                                  
 │ │[ ] THREADS               Enable threads support in APR      
 │ │[X] MYSQL                 Enable MySQL support for apr-dbd
 │ │[ ] PGSQL                 Enable PostgreSQL support for apr-dbd
 │ │[ ] SQLITE                Enable SQLite support for apr-dbd  
 │ │[ ] IPV6                  Enable IPv6 support             
 │ │[ ] BDB                   Enable BerkeleyDB dbm               
 │ │[X] AUTH_BASIC            Enable mod_auth_basic                
 │ │[X] AUTH_DIGEST           Enable mod_auth_digest               
 │ │[X] AUTHN_FILE            Enable mod_authn_file              
 │ │[ ] AUTHN_DBD             Enable mod_authn_dbd              
 │ │[X] AUTHN_DBM             Enable mod_authn_dbm              
 │ │[X] AUTHN_ANON            Enable mod_authn_anon            
 │ │[X] AUTHN_DEFAULT         Enable mod_authn_default          
 │ │[X] AUTHN_ALIAS           Enable mod_authn_alias           
 │ │[X] AUTHZ_HOST            Enable mod_authz_host               
 │ │[X] AUTHZ_GROUPFILE       Enable mod_authz_groupfile         
 │ │[X] AUTHZ_USER            Enable mod_authz_user            
 │ │[X] AUTHZ_DBM             Enable mod_authz_dbm              
 │ │[X] AUTHZ_OWNER           Enable mod_authz_owner           
 │ │[X] AUTHZ_DEFAULT         Enable mod_authz_default             
 │ │[X] CACHE                 Enable mod_cache                    
 │ │[X] DISK_CACHE            Enable mod_disk_cache               
 │ │[X] FILE_CACHE            Enable mod_file_cache                
 │ │[X] MEM_CACHE             Enable mod_mem_cache                
 │ │[X] DAV                   Enable mod_dav                      
 │ │[X] DAV_FS                Enable mod_dav_fs                   
 │ │[ ] BUCKETEER             Enable mod_bucketeer                 
 │ │[ ] CASE_FILTER           Enable mod_case_filter         
 │ │[ ] CASE_FILTER_IN        Enable mod_case_filter_in          
 │ │[ ] EXT_FILTER            Enable mod_ext_filter                
 │ │[ ] LOG_FORENSIC          Enable mod_log_forensic             
 │ │[ ] OPTIONAL_HOOK_EXPORT  Enable mod_optional_hook_export     
 │ │[ ] OPTIONAL_HOOK_IMPORT  Enable mod_optional_hook_import    
 │ │[ ] OPTIONAL_FN_IMPORT    Enable mod_optional_fn_import      
 │ │[ ] OPTIONAL_FN_EXPORT    Enable mod_optional_fn_export      
 │ │[ ] LDAP                  Enable mod_ldap                     
 │ │[ ] AUTHNZ_LDAP           Enable mod_authnz_ldap               
 │ │[X] ACTIONS               Enable mod_actions                   
 │ │[X] ALIAS                 Enable mod_alias                     
 │ │[X] ASIS                  Enable mod_asis                     
 │ │[X] AUTOINDEX             Enable mod_autoindex                
 │ │[X] CERN_META             Enable mod_cern_meta                 
 │ │[X] CGI                   Enable mod_cgi               
 │ │[X] CHARSET_LITE          Enable mod_charset_lite             
 │ │[ ] DBD                   Enable mod_dbd                      
 │ │[X] DEFLATE               Enable mod_deflate                  
 │ │[X] DIR                   Enable mod_dir                     
 │ │[X] DUMPIO                Enable mod_dumpio                    
 │ │[X] ENV                   Enable mod_env                       
 │ │[X] EXPIRES               Enable mod_expires                   
 │ │[X] HEADERS               Enable mod_headers                   
 │ │[X] IMAGEMAP              Enable mod_imagemap                  
 │ │[X] INCLUDE               Enable mod_include                
 │ │[X] INFO                  Enable mod_info                      
 │ │[X] LOG_CONFIG            Enable mod_log_config                
 │ │[X] LOGIO                 Enable mod_logio                    
 │ │[X] MIME                  Enable mod_mime                   
 │ │[X] MIME_MAGIC            Enable mod_mime_magic              
 │ │[X] NEGOTIATION           Enable mod_negotiation               
 │ │[X] REWRITE               Enable mod_rewrite                 
 │ │[X] SETENVIF              Enable mod_setenvif                
 │ │[X] SPELING               Enable mod_speling                  
 │ │[X] STATUS                Enable mod_status                   
 │ │[X] UNIQUE_ID             Enable mod_unique_id             
 │ │[X] USERDIR               Enable mod_userdir                 
 │ │[X] USERTRACK             Enable mod_usertrack                 
 │ │[X] VHOST_ALIAS           Enable mod_vhost_alias               
 │ │[X] FILTER                Enable mod_filter                  
 │ │[X] VERSION               Enable mod_version                   
 │ │[ ] PROXY                 Enable mod_proxy                    
 │ │[ ] PROXY_CONNECT         Enable mod_proxy_connect            
 │ │[X] PATCH_PROXY_CONNECT   Patch proxy_connect SSL support      
 │ │[ ] PROXY_FTP             Enable mod_proxy_ftp               
 │ │[ ] PROXY_HTTP            Enable mod_proxy_http                
 │ │[ ] PROXY_AJP             Enable mod_proxy_ajp                 
 │ │[ ] PROXY_BALANCER        Enable mod_proxy_balancer         
 │ │[ ] PROXY_SCGI            Enable mod_proxy_scgi                
 │ │[X] SSL                   Enable mod_ssl                       
 │ │[ ] SUEXEC                Enable mod_suexec                    
 │ │[ ] CGID                  Enable mod_cgid                     
 ├─└────────────────────────────────────────────────────────────────┘─┤
 │                       [  OK  ]       Cancel                        │
 └────────────────────────────────────────────────────────────────────┘

Выбираем пункты под свои нужды. Жмем ОК, после чего выполняем инсталяцию.

10:14 user@ns [/usr/ports/www/apache22]#make install clean

После чего, в файл /etc/rc.conf добавляем apache22_enable="YES" После чего, пробуем запустить.

12:03 user@ns [/usr/ports/www/apache22]#/usr/local/etc/rc.d/apache22 start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.
12:03 user@ns [/usr/ports/www/apache22]#

Судя по всему, у меня завелось. Если у Вас что то другое, смотрите причины ошибки. Итак, mysql стоит, apache стоит, ставим php5.

12:03 user@ns [/usr/ports/www/apache22]#cd /usr/ports/lang/php5
12:05 user@ns [/usr/ports/lang/php5]#make config

                     Options for php5 5.2.12                       
 
 [X] CLI        Build CLI version                                
 [ ] CGI        Build CGI version                                
 [X] APACHE     Build Apache module                              
 [ ] DEBUG      Enable debug                                     
 [X] SUHOSIN    Enable Suhosin protection system (not for jails) 
 [X] MULTIBYTE  Enable zend multibyte support                    
 [ ] IPV6       Enable ipv6 support                              
 [X] MAILHEAD   Enable mail header patch                         
 [ ] REDIRECT   Enable force-cgi-redirect support (CGI only)     
 [ ] DISCARD    Enable discard-path support (CGI only)           
 [ ] FASTCGI    Enable fastcgi support (CGI only)                
 [ ] PATHINFO   Enable path-info-check support (CGI only)        
                                    
             [  OK  ]       Cancel   

12:08 user@ns [/usr/ports/lang/php5]#make install clean

Выбираете все под свои нужды и устанавливаете. В конце Вам необходимо будет добавить в DirectoryIndex значение index.php (индексный, первоначальный файл) и 2 строки, обработки php apache'ем.

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

И перегружаете веб сервер. Для проверки, можете залить в директорию тестовый файлик.

12:11 phenix@ns [/usr/ports/lang/php5]#cd /usr/local/www/apache22/data
12:12 phenix@ns [/usr/local/www/apache22/data]#cat test.php
<?
        phpinfo();
?>
12:13 phenix@ns [/usr/local/www/apache22/data]#

Ну и через броузер проверить, работает или нет. Страничка должна выдать все информацию из файла php.ini. Но это еще не все. Кроме самого PHP нам необходимо еще и некоторые модули, к примеру поддержка базы данных, либо графики. Для этого переходим в каталог /usr/ports/lang/php5-extensions/ и выбираем те модули, которые нам необходимы (через выполнение комманды make config а потом make install clean).

Для того, чтоб виртуальных хост отрабатывал из-под другого пользователя, в файл httpd-vhosts.conf, а именно в самом виртуальном хосте необходимо добавить следующее:

<IfModule itk.c>
    AssignUserID testuser testuser
    MaxClientsVHost 200
</IfModule>

Где директива AssignUserID говорит от имено кого будет запускаться виртуальных хост, MaxClientsVHost - количество обращений.

Вот собственно и все. Не расмотрел тут вариант настройки самого апача (чесно говоря - этого много, я всего лишь описал моменты с повышеной безопастностью, то, что сложно найти в инете), и не расмотрел вариант с настройкой php.ini, ну да это как раз тема для еще одной статьи.



Источник: http://zmej.org.ua/node/38
Категория: Apache | Добавил: oleg (22.02.2010) | Автор: Zmej
Просмотров: 1382 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024