На свежем debin 6 при рестарте апача получили предупреждение:
Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using --ip-- for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using --ip-- for ServerName
Решается довольно просто - в файл /etc/apache2/apache2.conf добавляем строку
ServerName *
или вместо звездочки ваш сервер.
Показаны сообщения с ярлыком apache. Показать все сообщения
Показаны сообщения с ярлыком apache. Показать все сообщения
понедельник, 26 сентября 2011 г.
воскресенье, 13 марта 2011 г.
apache и предупреждение "NameVirtualHost ... has no VirtualHosts"
При создании ОТДЕЛЬНЫХ файликов для виртуальных хостов вылезло предупреждение при запуске апача (что-то вроде этого) NameVirtualHost *:80 has no VirtualHosts
А все потому, что в КАЖДОМ файлике было упоминание NameVirtualHost *
Вынес его в etc/apache2/conf.d/virtual.conf
убрал упоминание NameVirtualHost из всех файликов виртуальных хостов и предупреждение пропало.
А все потому, что в КАЖДОМ файлике было упоминание NameVirtualHost *
Вынес его в etc/apache2/conf.d/virtual.conf
убрал упоминание NameVirtualHost из всех файликов виртуальных хостов и предупреждение пропало.
понедельник, 15 марта 2010 г.
Защита web-каталога паролем.
В каталог кладем файлик .htaccess со следующим содержанием:
Затем создаем файл паролей
htpasswd -c /путь/.htpasswd имя (запросит пароль)
htpasswd -bc /путь/.htpasswd имя пароль ("пакетный" режим)
флаг -c создает файл, т.е. второго и следующего пользователя уже вносим без него.
Проверяем права. Если с .htpasswd снять чтение группы, то получаем Internal Server Error.
Работает с 440 (r--r-----)
Если надо защитить каталог со скриптами, то тогда в httpd.conf надо добавить
<Location /cgi-bin/каталог>
и далее все что выше, т.е. AuthType Basic и т.д.
</Location>
Затем в скрипте доставать из переменных окружения REMOTE_USER, т.е. $ENV{ 'REMOTE_USER' }
и уже его обрабатывать на предмет прав и т.п.
AuthType Basic
AuthName "Administrative zone"
AuthUserFile /путь/.htpasswd
Require valid-user
Затем создаем файл паролей
htpasswd -c /путь/.htpasswd имя (запросит пароль)
htpasswd -bc /путь/.htpasswd имя пароль ("пакетный" режим)
флаг -c создает файл, т.е. второго и следующего пользователя уже вносим без него.
Проверяем права. Если с .htpasswd снять чтение группы, то получаем Internal Server Error.
Работает с 440 (r--r-----)
Если надо защитить каталог со скриптами, то тогда в httpd.conf надо добавить
<Location /cgi-bin/каталог>
и далее все что выше, т.е. AuthType Basic и т.д.
</Location>
Затем в скрипте доставать из переменных окружения REMOTE_USER, т.е. $ENV{ 'REMOTE_USER' }
и уже его обрабатывать на предмет прав и т.п.
понедельник, 7 декабря 2009 г.
Настройка Apache и SSL
Почти что все утащено с http://www.freebsdrocks.ru/index.php/guides/application-installs/57-apache-22.html
Пути нужно поменять на свои.
Настроим SSL:
# mkdir /usr/local/etc/apache22/ssl.key
# mkdir /usr/local/etc/apache22/ssl.crt
# chmod 0700 /usr/local/etc/apache22/ssl.key
# chmod 0700 /usr/local/etc/apache22/ssl.crt
Создаем сертификат:
# cd /root
# openssl genrsa -des3 -out server.key 1024
# openssl req -new -key server.key -out server.csr
# openssl x509 -req -days 3650 -in /root/server.csr -signkey /root/server.key -out /root/server.crt
Сертификат будет действителен 3650 дней. Вполне достаточно, чтобы не вспоминать эту процедуру каждый год :-)
Хотите знать больше о SSL Certs, вам сюда: http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html#aboutcerts
Копируем сертификаты:
# cp /root/server.key /usr/local/etc/apache22/ssl.key/
# cp /root/server.crt /usr/local/etc/apache22/ssl.crt/
Установим права:
# chmod 0400 /usr/local/etc/apache22/ssl.key/server.key
# chmod 0400 /usr/local/etc/apache22/ssl.crt/server.crt
Правим конфигурационный файл:
# cd /usr/local/etc/apache22/extra
# ee httpd-ssl.conf
Приводим к виду:
DocumentRoot "/usr/local/www/apache22/data" — смените путь на ваш httpd.conf document root.
ServerName www.example.com:443 - Смените www.example.com на ваше доменное имя (domain name).
ServerAdmin : Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript - Смените на ваш e-mail адрес
ErrorLog /var/log/httpd-error.log — Вы можете расскоментировать эту линию .
TransferLog /var/log/httpd-access.log - Вы можете расскоментировать эту линию .
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/server.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/server.key"
Удаляем pass-phrase (опционально):
# cp /usr/local/etc/apache22/ssl.key/server.key /usr/local/etc/apache22/ssl.key/server.key.org
# cd /usr/local/etc/apache22/ssl.key/
# openssl rsa -in server.key.org -out server.key
Enter pass phrase for server.key.org:
writing RSA key
# chmod 400 server.key
Разрешаем HTTPS:
# ee /usr/local/etc/apache22/httpd.conf
Include etc/apache22/extra/httpd-ssl.conf
Перезапускаем APACHE:
Пути нужно поменять на свои.
Настроим SSL:
# mkdir /usr/local/etc/apache22/ssl.key
# mkdir /usr/local/etc/apache22/ssl.crt
# chmod 0700 /usr/local/etc/apache22/ssl.key
# chmod 0700 /usr/local/etc/apache22/ssl.crt
Создаем сертификат:
# cd /root
# openssl genrsa -des3 -out server.key 1024
# openssl req -new -key server.key -out server.csr
# openssl x509 -req -days 3650 -in /root/server.csr -signkey /root/server.key -out /root/server.crt
Сертификат будет действителен 3650 дней. Вполне достаточно, чтобы не вспоминать эту процедуру каждый год :-)
Хотите знать больше о SSL Certs, вам сюда: http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html#aboutcerts
Копируем сертификаты:
# cp /root/server.key /usr/local/etc/apache22/ssl.key/
# cp /root/server.crt /usr/local/etc/apache22/ssl.crt/
Установим права:
# chmod 0400 /usr/local/etc/apache22/ssl.key/server.key
# chmod 0400 /usr/local/etc/apache22/ssl.crt/server.crt
Правим конфигурационный файл:
# cd /usr/local/etc/apache22/extra
# ee httpd-ssl.conf
Приводим к виду:
DocumentRoot "/usr/local/www/apache22/data" — смените путь на ваш httpd.conf document root.
ServerName www.example.com:443 - Смените www.example.com на ваше доменное имя (domain name).
ServerAdmin : Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript - Смените на ваш e-mail адрес
ErrorLog /var/log/httpd-error.log — Вы можете расскоментировать эту линию .
TransferLog /var/log/httpd-access.log - Вы можете расскоментировать эту линию .
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/server.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/server.key"
Удаляем pass-phrase (опционально):
# cp /usr/local/etc/apache22/ssl.key/server.key /usr/local/etc/apache22/ssl.key/server.key.org
# cd /usr/local/etc/apache22/ssl.key/
# openssl rsa -in server.key.org -out server.key
Enter pass phrase for server.key.org:
writing RSA key
# chmod 400 server.key
Разрешаем HTTPS:
# ee /usr/local/etc/apache22/httpd.conf
Include etc/apache22/extra/httpd-ssl.conf
Перезапускаем APACHE:
Подписаться на:
Сообщения (Atom)