Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> WWW —> Apache22+MySQL

Устновка и настройка Apache и MySQL для начинающих


Я пишу ету статью для тех кто не знает как установить и настроить веб сервер и базу данных.Есть такие люди которые начитают мануалы и хотят иметь результат. Иногда нужно знать как коекртно установить апач и мускл.
Установка MySQL-сервера  


bash# cd /usr/ports/databases/mysql50-server/
bash# make BUILD_OPTIMIZED=yes WITH_OPENSSL=yes WITH_CHARSET=utf8
bash# make install clean

bash# /usr/local/bin/mysql_install_db
bash# chown -Rv mysql:mysql /var/db/mysql/

Создаем конфигурационный файл из шаблона. Из-за постоянной смены дефолтного местонахождения конфига,
спросим у mysqladmin где mysql будет искать его:

bash# mysqladmin

и видим:

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

Редактируем конфиг:

bash# ee /etc/my.cnf

В секции
[mysqld]

добавим:

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


    #
    # 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



pinger, 2009-04-03 в 19:52:13

про установку апача и mysql, есть даже в хендбуке...

гость, 2009-04-03 в 20:10:06

а почему именно
http://192.168.0.1/ ?

почему не
http://localhost/ ?

непонятно

vitalvas, 2009-04-04 в 13:32:42

а почему именно
http://192.168.0.1/ ?
почему не
http://localhost/ ?


Якщо настроювати на іншому компі то до нього треба якось стучатися, а у мене дома ір компа де я це робив 192.168.0.1. Якщо ти установдюєш на тому компі де і сидиш то можеш писати localhost.

vitalvas, 2009-04-04 в 13:34:43

про установку апача и mysql, есть даже в хендбуке...

Я написав цю статтю для тих хто мануали нечитає і хоче мати хоч якийсь результат.

savio, 2009-04-05 в 15:01:08

Пиши на російській якщо бажаєш щоб тебе розуміли усі, тут більшість народу російськомовні люди :)

abigor, 2009-04-05 в 16:16:55

Мои комменты потерли старые, и вывода не сделали как во FreeBSD делать загрузку модулей при старте системы

Парень из Баку, 2009-04-08 в 15:34:28

Надо уже в порты добавить скрипт установки apache+mysql+php, с выбором нужной оптимизированной конфигурации, что бы больше не появлялось подобных статей =) Потому что на эту тему уже столько всего написано!!!

AndreikA, 2009-04-17 в 15:36:56

В названии статьи не плохо было бы написать CP1251, статья была бы более полезна...

vitalvas, 2009-04-17 в 17:13:28

дописал

hodok, 2009-04-28 в 15:03:02

Автор, исправь пожалуйста ошибки, читать невозможно. Для расширения думаю неплохо бы было описать вкратце файл http.conf, для начинающих это будет реальная помощь(IMHO).

AIR, 2009-09-15 в 17:37:07

навіщо ставити спчатку мускул а потім апатч ?

Виталй, 2010-01-10 в 23:00:34

Радует меня в одном очень известном дистрибутиве линукс установка LAMP. Далее ставишь phpmyadmin и он сам везде прописываеться.Красота быстрота....кому интересно ручками всё, да пожалуйста. И действительно давно бы пора сделать что то вроде порт-дефолтовая конфигурация apache+mysql+php.

vitalvas, 2010-05-10 в 19:44:42

AIR
при установці апачу я вибираю пункт з mysql
якщо заранія не установити, то він установиться з дефаултним конфігом

alexvas84, 2010-08-23 в 21:51:58

При установке MySQL дошол до
/usr/local/bin/mysqladmin -u root password 'ваш пароль'
и получил
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

vitalvas, 2010-08-23 в 22:59:13

mysql-сервер должен работать в момент установки пароля.

alexvas84, 2010-08-25 в 22:59:13

В том то и проблемма, что при вводе
/usr/local/etc/rc.d/mysql-server start
пишет
Starting Mysql.
и на этом конец. Например ввожу mysqladmin -p proc
выдает что /tmp/mysql.sock отсутсвует.

vitalvas, 2010-08-27 в 16:01:52

покажи
ps -ax | grep mysql
sockstat -4 | grep 3306
/usr/local/etc/rc.d/mysql-server status
/usr/local/etc/rc.d/mysql-server rcvar

ASM, 2011-06-26 в 23:31:32

Если возникает ошибка
FATAL ERROR: Could not find ./bin/my_print_defaults (у меня 8.2)
надо писать так:
/usr/local/bin/mysql_install_db --user=mysql --basedir=/usr/local



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.179 секунд
Из них PHP: 55%; SQL: 45%; Число SQL-запросов: 76 шт.
Исходный размер: 36843; Сжатая: 8571