Установка и настройка Apache и MySQL для начинающих
Автор: vitalvas.
Я пишу эту статью для тех кто не знает
как установить и настроить веб сервер и базу данных.Есть такие люди
которые начитают мануалы и хотят иметь результат. Иногда нужно знать как
корректно установить апач и мускл.
Установка MySQL-сервера
bash# cd /usr/ports/databases/mysql50-server/ bash# make BUILD_OPTIMIZED=yes WITH_OPENSSL=yes WITH_CHARSET=cp1251 bash# make install clean
bash# /usr/local/bin/mysql_install_db bash# chown -Rv mysql:mysql /var/db/mysql/
| Создаем конфигурационный файл из шаблона. Из-за постоянной смены дефолтного местонахождения конфига,
спросим у mysqladmin где mysql будет искать его:
и видим:
Default options are read from the following files in the given order: /etc/my.cnf /usr/local/etc/my.cnf ~/.my.cnf /usr/local/etc/my.cnf
| Поэтому:
bash# cp /usr/local/share/mysql/my-huge.cnf /etc/my.cnf
| Редактируем конфиг:
В секции
добавим:
default-character-set=cp1251 character-set-server=cp1251 collation-server=cp1251_general_ci init-connect="SET NAMES cp1251" skip-character-set-client-handshake language=/usr/local/share/mysql/russian/ skip-name-resolve
| Здесь мы пишем такое:
- кодировки на cp1251
- русский язык
- отменим резолв в днс-имена т.к если днс ляжет, то коннекты будут идти ооочень долго,
в серьезной системе мы должны подстраховаться.
Автозапуск при старте системы:
bash# echo 'mysql_enable="YES"' >> /etc/rc.conf
| Стартуем mysql-сервер:
bash# /usr/local/etc/rc.d/mysql-server start
| Установим пароль учетной записи root в mysql:
bash# /usr/local/bin/mysqladmin -u root password 'ваш пароль'
| Установка веб-сервера
Переходим к установки apache версии 2.2:
Инсталяция:
bash# cd /usr/ports/www/apache22/ bash# make install clean
| Автозапуск:
bash# echo 'apache22_enable="YES"' >> /etc/rc.conf
| Иногда без этого модуля apache не стартует:
bash# echo /sbin/kldload accf_http >> /etc/rc.local
| Без конфигурирования стартуем apache:
bash# /usr/local/etc/rc.d/apache22 start
| и открываем в браузере:
http://192.168.0.1/
Если не получаем приветствующего сообщения "It works!" - смотрим логи:
bash# tail /var/log/httpd-error.log
| Статья закончена!!
если есть ошибки то пишите.
Мой конфиг апачу:
ServerRoot "/usr/local"
Listen 80 443
LoadModule authn_file_module libexec/apache22/mod_authn_file.so LoadModule authn_dbm_module libexec/apache22/mod_authn_dbm.so LoadModule authn_anon_module libexec/apache22/mod_authn_anon.so LoadModule authn_default_module libexec/apache22/mod_authn_default.so LoadModule authn_alias_module libexec/apache22/mod_authn_alias.so LoadModule authz_host_module libexec/apache22/mod_authz_host.so LoadModule authz_groupfile_module libexec/apache22/mod_authz_groupfile.so LoadModule authz_user_module libexec/apache22/mod_authz_user.so LoadModule authz_dbm_module libexec/apache22/mod_authz_dbm.so LoadModule authz_owner_module libexec/apache22/mod_authz_owner.so LoadModule authz_default_module libexec/apache22/mod_authz_default.so LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so LoadModule auth_digest_module libexec/apache22/mod_auth_digest.so LoadModule file_cache_module libexec/apache22/mod_file_cache.so LoadModule cache_module libexec/apache22/mod_cache.so LoadModule disk_cache_module libexec/apache22/mod_disk_cache.so LoadModule dumpio_module libexec/apache22/mod_dumpio.so LoadModule include_module libexec/apache22/mod_include.so LoadModule filter_module libexec/apache22/mod_filter.so LoadModule charset_lite_module libexec/apache22/mod_charset_lite.so LoadModule deflate_module libexec/apache22/mod_deflate.so LoadModule log_config_module libexec/apache22/mod_log_config.so LoadModule logio_module libexec/apache22/mod_logio.so LoadModule env_module libexec/apache22/mod_env.so LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so LoadModule cern_meta_module libexec/apache22/mod_cern_meta.so LoadModule expires_module libexec/apache22/mod_expires.so LoadModule headers_module libexec/apache22/mod_headers.so LoadModule usertrack_module libexec/apache22/mod_usertrack.so LoadModule unique_id_module libexec/apache22/mod_unique_id.so LoadModule setenvif_module libexec/apache22/mod_setenvif.so LoadModule version_module libexec/apache22/mod_version.so LoadModule ssl_module libexec/apache22/mod_ssl.so LoadModule mime_module libexec/apache22/mod_mime.so LoadModule dav_module libexec/apache22/mod_dav.so LoadModule status_module libexec/apache22/mod_status.so LoadModule autoindex_module libexec/apache22/mod_autoindex.so LoadModule asis_module libexec/apache22/mod_asis.so LoadModule info_module libexec/apache22/mod_info.so LoadModule cgi_module libexec/apache22/mod_cgi.so LoadModule dav_fs_module libexec/apache22/mod_dav_fs.so LoadModule vhost_alias_module libexec/apache22/mod_vhost_alias.so LoadModule negotiation_module libexec/apache22/mod_negotiation.so LoadModule dir_module libexec/apache22/mod_dir.so LoadModule imagemap_module libexec/apache22/mod_imagemap.so LoadModule actions_module libexec/apache22/mod_actions.so LoadModule speling_module libexec/apache22/mod_speling.so LoadModule userdir_module libexec/apache22/mod_userdir.so LoadModule alias_module libexec/apache22/mod_alias.so LoadModule rewrite_module libexec/apache22/mod_rewrite.so LoadModule php5_module libexec/apache22/libphp5.so
<IfModule !mpm_netware_module> <IfModule !mpm_winnt_module>
User www Group www
</IfModule> </IfModule>
ServerAdmin vitalvas@inbox.ru
#ServerName www.example.com:80
DocumentRoot "/usr/local/www/apache22/data"
<Directory /> AllowOverride None Order deny,allow Deny from all </Directory>
<Directory "/usr/local/www/apache22/data"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all
</Directory>
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
<FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch>
ErrorLog "/var/log/httpd-error.log"
LogLevel warn
<IfModule log_config_module> # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module> # You need to enable mod_logio.c to use %I and %O LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule>
# # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a <VirtualHost> # container, they will be logged here. Contrariwise, if you *do* # define per-<VirtualHost> access logfiles, transactions will be # logged therein and *not* in this file. # #CustomLog "/var/log/httpd-access.log" common
# # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # CustomLog "/var/log/httpd-access.log" combined </IfModule>
<IfModule alias_module> ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/" </IfModule>
<IfModule cgid_module> #Scriptsock /var/run/cgisock </IfModule>
<Directory "/usr/local/www/apache22/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
DefaultType text/plain
<IfModule mime_module> TypesConfig etc/apache22/mime.types #AddType application/x-gzip .tgz
#AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps AddType application/x-compress .Z AddType application/x-gzip .gz .tgz
#AddHandler cgi-script .cgi
#AddHandler type-map var
#AddType text/html .shtml #AddOutputFilter INCLUDES .shtml </IfModule>
#MIMEMagicFile etc/apache22/magic
#ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http://www.example.com/subscription_info.html
#EnableMMAP off #EnableSendfile off
# Server-pool management (MPM specific) #Include etc/apache22/extra/httpd-mpm.conf
# Multi-language error messages #Include etc/apache22/extra/httpd-multilang-errordoc.conf
# Fancy directory listings #Include etc/apache22/extra/httpd-autoindex.conf
# Language settings #Include etc/apache22/extra/httpd-languages.conf
# User home directories #Include etc/apache22/extra/httpd-userdir.conf
# Real-time info on requests and configuration #Include etc/apache22/extra/httpd-info.conf
# Virtual hosts #Include etc/apache22/extra/httpd-vhosts.conf
# Local access to the Apache HTTP Server Manual #Include etc/apache22/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV) #Include etc/apache22/extra/httpd-dav.conf
# Various default settings #Include etc/apache22/extra/httpd-default.conf
# Secure (SSL/TLS) connections #Include etc/apache22/extra/httpd-ssl.conf
<IfModule ssl_module> #SSLRandomSeed startup builtin #SSLRandomSeed connect builtin </IfModule>
Include etc/apache22/Includes/*.conf
|
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=8&t=16384.
размещено: 2009-03-15,
последнее обновление: 2009-04-28,
автор: vitalvas
|