Как создать свой хостинг "с нуля" - Профиль пользователя
ОГЛАВЛЕНИЕ
Профиль пользователя
На сегодняшний день реалии таковы, что большая часть сайтов имеют кодировку Windows-1251. Применительно к вопросу вебхостинга это означает что вся локализация консоли, вебсервера и сервера базы данных должна быть ru_RU.CP1251. Для локализации консоли необходимо создать дополнительный класс russianwww в файле /etc/login.conf:
#
# Russian Web Users Accounts. Setup proper environment variables.
#
russianwww|Russian Users Accounts:\
:charset=CP1251:\
:lang=ru_RU.CP1251:\
:umask=0007:\
:tc=default:
Если мы хотим ограничить пользователя в системных ресурсах, а возникают ситуациии когда это единственный способ одновременно уместить много требовательных к ресурсам сайтов на одном сервере без передёргивания всего "одеяла" на кого либо одного можно добавить в созданный класс строки вида:
:cputime=5m:\
:datasize=32M:\
:stacksize=4M:\
:memorylocked=64M:\
:memoryuse=96M:\
:filesize=unlimited:\
:coredumpsize=0:\
:openfiles=256:\
:maxproc=128:\
:sbsize=unlimited:\
:vmemoryuse=unlimited:\
:priority=20:\
:ignoretime@:\
Их необходимо вставить перед :tc=default: предложенные значения даны в иллюстративных целях и в Вашей системе могут быть другими и перед их установкой рекомендуется ознакомиться со страницей справочника man login.conf(5). После необходимых правок /etc/login.conf, пересоздаем базу данных:
cap_mkdb /etc/login.conf
Для локализации Apache придется изменить файл /usr/local/sbin/apachectl внеся в него следующие строки:
#!/bin/sh
# Localization
umask 0002
LC_ALL=ru_RU.CP1251; export LC_ALL
LANG=ru_RU.CP1251; export LANG
MM_CHARSET=CP1251; export MM_CHARSET
Чтобы локализация "подхватывалась" при автозапуске, следует заменить скрипт /usr/local/etc/rc.d/apache на предлагаемый:
#!/bin/sh
case "$1" in
start)
[ -x /usr/local/sbin/apachectl ] && /usr/local/sbin/apachectl start > /dev/null && echo -n ' apache'
;;
stop)
[ -r /var/run/httpd.pid ] && /usr/local/sbin/apachectl stop > /dev/null && echo -n ' apache'
;;
*)
echo "Usage: ${0##*/} { start | stop }" >&2
exit 64
;;
esac
exit 0
Для сервера MySQL достаточно будет создавать пользовательские базы данных с кодировкой cp1251 и cp1251_general_ci collation:
CREATE DATABASE `u00001` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;