APACHE+SUEXEC+PHP

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Alex Keda » 2008-06-15 8:56:52

у меня не вешается.
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

aivus
проходил мимо

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение aivus » 2008-06-15 17:35:50

То есть, проц не уходит на 100% загрузки...
Есть идеи из-за чего это может быть?

Серв не сила... 1 ГГц,398 Мб оперативы... Можете что-то посоветовать?

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение zingel » 2008-06-15 19:59:32

тонко тюнить ядро:

Код: Выделить всё

KVA_PAGES
KSTACK_MAX_PAGES
SHMMAXPGS
MAXDSIZ

Код: Выделить всё

vm.pmap.shpgperproc=2048
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
net.inet.tcp.tcbhashsize=4096
kern.ipc.nsfbufs=10240
kern.ipc.maxsockets=204800
kern.ipc.numopensockets=32768
kern.maxfiles=32768
kern.openfiles=32768
kern.maxvnodes=80000
и так далее, ключевая переменная - kern.maxproc
Z301171463546 - можно пожертвовать мне денег

Sintez
проходил мимо

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Sintez » 2009-03-02 18:03:59

У меня лог апача забит ошибками вида

Код: Выделить всё

terminated by calling exit with status '0'
 gid 1014) restarted (pid 62422)
) termination signaled
) terminated by calling exit with status '0'
133) termination signaled
133) terminated by calling exit with status '0'
 gid 1014) restarted (pid 62703)
Хотя страницы нормально открываются....
Вразумительного ответа что это и как с этим бороться так и не нашел, может кто поможет?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Alex Keda » 2009-03-02 22:32:40

никак.
это нормально.
Убей их всех! Бог потом рассортирует...

kostya
проходил мимо

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение kostya » 2009-04-22 18:35:13

Привет
Подскажите пожалуста, в чём может быть проблемма? исползую скрипт

Код: Выделить всё

create_client.sh
всё нармально создается, всё работает. Проблема, не удалает ползователя группу , mysql базу, и не капирует доки юзера в папку backup.

Код: Выделить всё

uname -v FreeBSD 6.2-RELEASE #0: Fri Jan 12 11:05:30 UTC 2007

Код: Выделить всё

#!/bin/sh -

# Скрипт для создания клиентской шары, и заведения нужного пользователя
# в системе. Написан lissyara 2006-10-02 - 2006-10-09 www.lisssyara.su

# Ограничения заводимого пользователя - сколько может занимать места,
# и сколько инод ему выделять (фактически, это - максимальное число файлов
# и директоий которые он сможет завести. Но не точно.
# Реально - может быть меньше). 0 - анлим.
user_datasize="500000" # В килобайтах в 4.11 и в Mb в 6.1, почему так - 
                       # я не понял. будте внимательны.
user_inode="100000"    # Иноды не резиновые. Оцените число командой
                       # `df -i` и решайте какие у вас должны быть лимиты
# Файловая система, на которую вносим ограничения
fs="/usr/local/hosting"
# Данные для MySQL
mysql_user="root"
mysql_passwd=""

# Переменные:
domain_name="$1"
user_name="$2"

# программы
cat="/bin/cat"			# Перенаправление потоков ввода-вывода
awk="/usr/bin/awk"		# Язык обработки шаблонов
echo="/bin/echo"		# Вывод строк на экран
grep="/usr/bin/grep"		# Выбор строк по шаблону
pw="/usr/sbin/pw"		# Управление учётками, группами пользователей
rm="/bin/rm"			# Удаление файлов и директорий
mkdir="/bin/mkdir"		# Создание директорий
chown="/usr/sbin/chown"		# Выставление владельца файлов и директорий
php="/usr/local/bin/php-cgi"	# Бинарник PHP для использования в виде CGI
cp="/bin/cp"			# Копирование файлов и директорий
mysql="/usr/local/bin/mysql"	# MySQL - клиент
wc="/usr/bin/wc"		# подсчёт числа строк
cut="/usr/bin/cut"		# Обрезка строк
md5="/sbin/md5"			# подсчёт md5 файлов, строк
jot="/usr/bin/jot"		# генерация случйного числа
tail="/usr/bin/tail"		# Показывает последнюю часть файла
edquota="/usr/sbin/edquota"	# редактор квот
ls="/bin/ls"			# Kbcnbyu диреткорий, файлов
chflags="/bin/chflags"		# Утановка флагов на файл
tr="/usr/bin/tr"		# Замена, удаление символов в строке
mysqldump="/usr/local/bin/mysqldump"	# Содание дампов MySQL 
gzip="/usr/bin/gzip"		# Архиватор
rm="/bin/rm"			# Удаление файлов и директорий
mv="/bin/mv"			# Перемещение файлов и директорий
basename="/usr/bin/basename"	# Вывод базового имени файла (из полного пути)
uname="/usr/bin/uname"		# Информация о локальной машине

# Файл с настройками php
php_ini="/usr/local/etc/php.ini"
# Временный файл - для технических нужд
tmp_file="/tmp/$$.file.tmp"
# Файл с системными альясами (для почты - отлупы на письма с сайтов будут
# возвращаться на этот сервер, надо их пересылать на пользователя, у меня
# забито как info@домен_пользователя)
aliases_file="/etc/aliases"	# На самом деле, во фре, это симлинк на
				# файл /etc/mail/aliases.
# Директория хостинга
hosting_preffix="/usr/local/hosting/sites"
# Директория для бэкапов удалённых сайтов
backup_dir="/usr/local/hosting/backup"

# Строим префикс для работы с БД
query_preffix="${mysql} --user=${mysql_user} --password=${mysql_passwd} \
--database=mysql"

# Проверяем наличие приложений - в разных версиях FreeBSD разные пути
for application in ${cat} ${awk} ${echo} ${grep} ${pw} ${rm} ${mkdir} \
${chown} ${php} ${cp} ${mysql} ${wc} ${cut} ${md5} ${jot} ${tail} \
${edquota} ${ls} ${chflags} ${tr} ${mysqldump} ${gzip} ${rm} ${mv} \
${basename} ${uname} ${php_ini}
do
	if [ ! -s ${application} ]; then 
		echo "Приложение \`\`${application}'' не найдено! Проверьте путь!"
		exit
	fi
done


# Поехали :)))
case "$3" in
create)

# Проверяем, не начинается ли имя пользователя с цифры (у `pw`, в этом случае
# будут проблемы с созданием группы пользователя. Либо руками, либо эта
# проверка. Я решил что лучше с цифры не начинать.)
${echo} "11111111111" >> ${tmp_file}
${echo} ${user_name} | ${grep} -v "^[0-9]" > ${tmp_file}
# проверяем размер файла - не равен ли нулю
if [ -s ${tmp_file} ]
then
	# Ничё не делаем
	${rm} ${tmp_file}
else
	# Пытаются пользователя с первой цифрой всандалить.
	${echo} "Имя пользователя не может начинаться с цифры!!"
	${rm} ${tmp_file}
	exit
fi

# Проверяем, не содержит ли имя пользователя точки:
${echo} ${user_name} | ${tr} -d "[:alnum:]" | ${grep} "\." > ${tmp_file}
if [ -s ${tmp_file} ]
then
	# Пытаются пользователя с точками в имени всандалить.
	${echo} "Имя пользователя не может содержать точки!!"
	${rm} ${tmp_file}
	exit
else
	# Ничё не делаем
	${rm} ${tmp_file}
fi

# Проверяем уникальность имени пользователя
${cat} /etc/passwd | ${awk} -F ":" '{print $1}' | ${grep} "^[:alnum:]" |
{
while read existing_user_name
do
if [ ${existing_user_name} = ${user_name} ]
then
	# Есть такой юзер. Ругаемся, выходим
	${echo} "Пользователь с именем \"${user_name}\" существует!"
	# пишем временный файл, чтоб передать инфу из цикла
	${echo} 1 > ${tmp_file}
	exit
fi
done
}
# Проверяем наличие и содержимое временного файла.
if [ -s ${tmp_file} ]
then
	if [ `cat ${tmp_file}` -eq 1 ]
	then
		${rm} ${tmp_file}	# удаляем временный файл
		exit			# выходим
	fi
fi

# проверяем, нету ли такого виртуалхоста в apache
if [ -s ${hosting_preffix}/../httpd_configs/${domain_name}.conf ]
then
	# Уже есть такой виртуалхост
	${echo} "Хост с именем \"${domain_name}\" уже есть в конфиге!"
	exit
fi

# такого пользователя нет - заводим в системе
user_passwd="`${pw} useradd ${user_name} -c \"UserDomain = \
${domain_name}\" -L webuser -s /bin/csh -d ${hosting_preffix}/${user_name}`"
# Добавляем апаче в группу пользователя
${pw} groupmod ${user_name} -m www

# Создаём структуру директорий для пользователя
${mkdir} -p ${hosting_preffix}/${user_name}/log
${mkdir} -p ${hosting_preffix}/${user_name}/www
${mkdir} -p ${hosting_preffix}/${user_name}/cgi-bin
${mkdir} -p ${hosting_preffix}/${user_name}/tmp

# копируем файлы в CGI
${cp} ${php} ${hosting_preffix}/${user_name}/cgi-bin/
${cp} ${php_ini} ${hosting_preffix}/${user_name}/cgi-bin/

# Даём права на эти директории
${chown} -R ${user_name}:${user_name} ${hosting_preffix}/${user_name}

# Ставим флаги на php.ini
${chflags} sunlnk ${hosting_preffix}/${user_name}/cgi-bin/php.ini
${chflags} schg ${hosting_preffix}/${user_name}/cgi-bin/php.ini

# Добавляем пользователя в список тех, кто chroot`ится при
# заходе по FTP 
${echo} ${user_name} >> /usr/local/etc/vsftpd.chroot_list

# Стругаем квоты для пользователя
${edquota} -e \
${fs}:${user_datasize}:${user_datasize}:${user_inode}:${user_inode} \
${user_name}



# Стругаем пароль для MySQL 
mysql_user_passwd="`${jot} -r 1 0 9000000 | ${md5} -p | ${tail} -1  \
| ${cut} -c 1-8`"

# Заводим пользователя в MySQL
${query_preffix} --execute="CREATE DATABASE IF NOT EXISTS \`${user_name}_db\`"
${query_preffix} --execute="GRANT ALL PRIVILEGES on \`${user_name}_db\`.* to \
'${user_name}'@'localhost' IDENTIFIED BY '${mysql_user_passwd}'"

# Создаём виртуалхост в апаче
${echo} "# Этот файл создан автоматически, скриптом `basename $0`

# Virtual host added by \`$USER\`, `date +%Y-%m-%d` in `date +%H:%M:%S`
# from host = \`$REMOTEHOST\`, host IP = \``echo $SSH_CLIENT | awk '{print $1}'`\`

<VirtualHost *:80>
    ScriptAlias /cgi-bin/ ${hosting_preffix}/${user_name}/cgi-bin/
    ServerAdmin support@${domain_name}
    User ${user_name}
    Group ${user_name}
    DocumentRoot ${hosting_preffix}/${user_name}/www
    ServerName ${domain_name}
    ServerAlias www.${domain_name}
    # Директория пользователя
    <Directory "${hosting_preffix}/${user_name}/www">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order deny,allow
      Allow from all
    </Directory>
    DirectoryIndex index.php index.html index.htm index.shtml index.php3
    AddType application/x-httpd-php .php .php3
    Action  application/x-httpd-php /cgi-bin/php-cgi
    ErrorLog ${hosting_preffix}/${user_name}/log/error.log
    CustomLog ${hosting_preffix}/${user_name}/log/access.log common
</VirtualHost>

" >> ${hosting_preffix}/../httpd_configs/${domain_name}.conf

# Создаём почтовый альяс для юзера (иначе его почта будет захламлять
# раздел /var). У меня стоит exim в простейшей (дефолтовой) конфигурации,
# т.к. мыльница для клиентов не на хостинге, а на отдельном сервере,
# и он работает с системными пользователями. Если будете делать по другому,
# перепишите этот кусок под себя.
$echo "
# Alias for user = ${user_name}, domain = ${domain_name},
# added by \`$USER\`, `date +%Y-%m-%d` in `date +%H:%M:%S`
# from host = \`$REMOTEHOST\`, host IP = \``echo $SSH_CLIENT | awk '{print $1}'`\`
${user_name}:	info@${domain_name}
" >> ${aliases_file}



${echo} "Имя домена:			${domain_name}"
${echo} "Имя пользователя:		${user_name}"
${echo} "Пароль пользователя(FTP, SSH):	${user_passwd}"
${echo} "Имя базы данных:		${user_name}_db"
${echo} "Пароль пользователя (MySQL):	${mysql_user_passwd}"
${echo} "Квота пользователя:		${user_datasize}"
${echo} -n "Альяс почты (${aliases_file})	${user_name}@`${uname} -n`"
${echo} " --> info@${domain_name}"
	;;
delete)
	${echo} "Вы действительно хотите удалить пользователя и домен?!"
	${echo} "Наберите YES для подтверждения, или Ctrl+C для выхода..."
	read confirmation
	if [ $confirmation = YES ] > /dev/null 2>&1
	then
	# Подтверждено.
	# Стругаем директорию
	${mkdir} -p ${backup_dir}/${domain_name}
	# снимаем флаги с директории юзера
	${chflags} -R nosunlnk ${hosting_preffix}/${user_name}/*
	${chflags} -R noschg ${hosting_preffix}/${user_name}/*
	# Копируем содержимое
	${echo} "Копируются пользовательские данные..."
	${cp} -R ${hosting_preffix}/${user_name} \
	${backup_dir}/${domain_name}
	# Дампим БД пользователя
	${echo} "Делается дамп БД пользователя...."
	${mysqldump} --user=${mysql_user} --password=${mysql_passwd} \
	--database ${user_name}_db | ${gzip} > \
	${backup_dir}/${domain_name}/${user_name}_db.sql.gz
	# Сносим всё нахрен:
	# Перемещаем конфиг апача для этого домена
	${mv} ${hosting_preffix}/../httpd_configs/${domain_name}.conf \
	${backup_dir}/${domain_name}/
	# Удаляем доки:
	${echo} "Удаляются пользовательские данные..."
	${rm} -Rf ${hosting_preffix}/${user_name}
	# Удаляем БД
	${echo} "Удаляется БД пользователя...."
	${query_preffix} --execute="DROP DATABASE IF EXISTS \
	\`${user_name}_db\`"
	# Удаляется пользователь из MySQL
	${echo} "Удаляется пользователь из MySQL..."
	${query_preffix} --execute="REVOKE ALL PRIVILEGES  \
	ON *.* FROM '${user_name}'@'localhost'"
	${query_preffix} --execute="REVOKE GRANT OPTION \
	ON *.* FROM '${user_name}'@'localhost'"
	${query_preffix} --execute="DELETE FROM mysql.user WHERE \
        User='${user_name}' and Host='localhost'"
	${echo} "Удаляется пользователь из системы..."
	${pw} userdel ${user_name}
	${echo} "Удаляется группа пользователя из системы..."
	${pw} groupdel ${user_name}
	else
	# не захотел удалять :)
	${echo} "Пользователь и его сайт были оставлены"
	fi
	;;
update)
	# Обновление версии php у всех пользователей.
	${ls} ${hosting_preffix}/| 
	{
	# идёт листинг сайтов, но т.к. имя пользователя и директории
	# одинаковые - значит это ещё и именя пользователей :)
	while read site_user_name
	do
	${echo} "Идёт обновление версии php для пользователя ${site_user_name}"
	# Копируем новый
	${cp} ${php} ${hosting_preffix}/${site_user_name}/cgi-bin/
	# Даём права на него
	${chown} ${site_user_name}:${site_user_name} \
	${hosting_preffix}/${site_user_name}/cgi-bin/`${basename} ${php}`
	done
	}
	${echo} "Обновление завершено!"
	;;
*)

${echo} ""
${echo} "Этот скрипт создаёт пользователя в системе, генерит ему
пароль, создаёт базу данных MySQL, генерит для неё пароль,
выставляет квоты на использование ресурсов системы - на данный
момент все новые пользователи равноправны - смотрите в login.conf
класс 'webuser'. Текущие ограничения:
Места:				500mb	(правиться в этом файле)
Инод:				10000	(правиться в этом файле)
Процессов:			64	(правиться в login.conf)
Время работы процесса:		5 минут	(правиться в login.conf)
Размер стека:			4mb	(правиться в login.conf)
Размер блокируемой оперативки:	64mb	(правиться в login.conf)
Макимальный объём оперативки:	256mb	(правиться в login.conf)
Максимальный размер файла:	100mb	(правиться в login.conf)
Открытых файлов на процесс:	1024	(правиться в login.conf)
Приоритет приложений:		20	(правиться в login.conf)

Внимание! На файл php.ini ставяться флаги \`schg\` и \`sunlnk\`,
не сняв их - файл не уалить и не изменить! Цель - не позволить юзеру
менять свои настройки php.
Удаление флагов:
chflags noschg php.ini
chflags nosunlnk php.ini
Установка:
chflags schg php.ini
chflags sunlnk php.ini
(Может понадобиться на случай если надо всё-таи чё-то поменять
в дефолтовом файле. Но не забывайте вернуть флаги!)

Также есть предложение придерживаться определённого именования
юзеров для их сайтов - типа если домен называется \`some.com\` то
юзер должен быть \`somecom\` - так понятней. Либо, как вариант, 
завести таблицу, типа: 1- su, 2 - ru, 3 -com и т.п. и добавлять эти
цифры в конце. Кому как удобней будет. На данном сервере, под
FreeBSD 4.11, ограничение на длинну имени пользователя - 16 символов.
Если длинней - придётся обрубать с конца, или ещё как - чтобы не
совпадало с существующими.

Про удаление - перед удалением всё бэкаптся, кроме учётки пользователя.

Про обновления - имя пользователя и домен - любые. Нужно при обновлении
версии php на сервере. Обновляются все бинарники и перевыставляются права.

P.S. Не забывайте перезапускать апач после создания-удаления!"
${echo} ""
${echo} "Использование: `${basename} $0` \
{domainname username create|delete|update}" >&2
${echo} ""
exit 64
	;;
esac 

Shvapsss
проходил мимо

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Shvapsss » 2009-06-30 16:40:50

Добрый день!

Появилась сложность в настройке.

После запуска скрипта получаю примерно следующее

Имя домена: testing.su
Имя пользователя: testing
Пароль пользователя(FTP, SSH):
Имя базы данных: testing_db
Пароль пользователя (MySQL): 90583d4e
Квота пользователя: 500
Альяс почты (/etc/aliases) testing@ghost.ru --> info@testing.su

Кажется все на месте кроме одного нюанса :)
Полное отсутствие (Пароль пользователя(FTP, SSH):)
Может кто нибудь направить куда копать.
И второй нюанс я заметил что скрипт не удаляет данные из /etc/ftpchroot это я думаю исправлю и напишу тут когда доразберусь с мелкими проблемками. :(
Если кто то поможет буду рад. спасибо.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Alex Keda » 2009-07-01 10:28:07

отлаживать... могли параметры поменяться какие-то у приложений...
сколько лет-то уж прошло...
Убей их всех! Бог потом рассортирует...

Shvapsss
проходил мимо

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Shvapsss » 2009-07-01 12:11:05

проблему нашел просто случайно пропустил несколько пунктов статьи... Прошу прощения.
Но столкнулся с новой. Ни один пароль не подходит.
Не могу зайти ни в mysql ни по ftp.
Пароли не подходят.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Alex Keda » 2009-07-01 12:30:03

lissyara писал(а):отлаживать... могли параметры поменяться какие-то у приложений...
сколько лет-то уж прошло...
Убей их всех! Бог потом рассортирует...

Shvapsss
проходил мимо

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Shvapsss » 2009-07-01 13:33:19

А можно спросить.

Переменная

Код: Выделить всё

# Стругаем пароль для MySQL                                                                                                  
mysql_user_passwd="`${jot} -r 1 0 9000000 | ${md5} -p | ${tail} -1  \                                                        
| ${cut} -c 1-8`"
Она случайно не постоянно получается и не меняется ли?
Потому что если mysql_user_passwd=12345 то проблем с коннектом нет. Если я меняю все как в скрипте то тупо не могу законектиться, может

Код: Выделить всё

${echo} "Пароль пользователя (MySQL):   ${mysql_user_passwd}"  
выдает уже другое значение?

Я понимаю что обращаюсь на старую ветку итп просто может тут найду какие нить подсказки, сам то не прекращаю копаться. :)
Последний раз редактировалось Alex Keda 2009-07-01 19:54:02, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...

Shvapsss
проходил мимо

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Shvapsss » 2009-07-01 13:44:08

Наверно зря я взялся за эту статью.
Скажите какими способоми на Ваш взгляд лучше организовать хостинг?
В первую очередь инетересует организация доступа клиента к контенту.
Фтп,Сфтп какие нить может виртульные машины.
Просто интересно мнение тех, кто побольше меня смыслит.
Спасибо.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Alex Keda » 2009-07-01 19:55:05

значение сохраняетсяв переменную, потом используется переемнная.
==========
поставте панель какуюнить.
решения типа вышеприведённого - хороши только для себя и под себя
Убей их всех! Бог потом рассортирует...

Shvapsss
проходил мимо

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение Shvapsss » 2009-07-03 10:46:26

Спасибо добрый человек.
Действительно я зачем то взялся морочить голову.

5 минутный поиск натолкнул на несколько решений. Может кому пригодиться.
3 Панели управления хостингом. ( http://dedic.ru/node/100 )

И может быть у кого нить есть рекомендации, опыт работы с какими нить панелями. Попроще и позащищенее...
Спасибо.

Shvapsss
проходил мимо

Хостинг Панель Webmin + Virtualmin

Непрочитанное сообщение Shvapsss » 2009-07-10 10:48:41

Спасибо за помощь!.
Рекомендации поставить хостинг панель оказались весьма кстати, но информацию на этот счет я собирал неделю по крупицам, поэтому хочу хоть как то облегчить поиск тому кто решит так же как и я поставить хостинг панель.

Пробывал ставить ISPCP , ISPCONFIG , и еще парочку забыл каких. Но я остановил свой выбор на Webmin + Virtualmin .
Сталкнулся с проблемами при установке. Пробывал через порты но ничего нигде не появлялось. Вернее после установки модуль должен был появиться в разделе "Система" но он этого не делал. :) Сцуко. :( Помогло скачать модуль отдельно и установить через подключение модулей Webmin.


(Установка VirtualMin.

Теперь приступим к установке VirtualMin. Первым делом надо скачать VirtualMin (мы будем использовать GPL вариант):
[root@localhost]$: wget http://download.webmin.com/download/vir ... 3.51.gpl.w...

Теперь зайдем в меню управления модулями и выберем вариант установки из предварительно скачанного файла. Ждем минуту… Все! VirtualMin установлен!
Теперь перейдем в меню “Services” и выберем “Virtualmin Virtual Servers”. Вас попросят произвести автоматическое сканирование системы. Чаще всего эта проверка показывает, что квоты не включены, а в файле /etc/shells нет шелла /bin/false. Исправить это легко: надо просто добавить в файл /etc/shells строчку /bin/false, а также включить квоты (это можно сделать классически, через консоль и файл /etc/fstab, а можно использовать для этого соответствующий модуль WebMin). После этого необходимо повторить сканирование нажатием на кнопку “Re-check configuration”. На этот раз ошибок быть не должно. На этом установка VirtualMin заканчивается. Теперь у администратора появляется возможность расслабиться – интерфейс этой связки настолько прост, что с операцией добавления/удаления новых пользователей справится даже блондинка.

Кстати, я бы советовал вам полностью выключить 22 порт (ssh), так как в WebMin уже имеется встроенный командный интерфейс (хотя, если это вас не устроит, то можно отключить и его))

Иисточник http://hosting.asplinux.info/node/2

Valmon
мл. сержант
Сообщения: 132
Зарегистрирован: 2007-11-14 9:51:19

Re: Хостинг Панель Webmin + Virtualmin

Непрочитанное сообщение Valmon » 2009-07-12 14:43:22

Shvapsss писал(а):
Кстати, я бы советовал вам полностью выключить 22 порт (ssh), так как в WebMin уже имеется встроенный командный интерфейс (хотя, если это вас не устроит, то можно отключить и его))

Иисточник http://hosting.asplinux.info/node/2
Дурацкий совет на самом деле. Я думаю что вероятности что вебмин перестанет запускатся гораздо больше чем ssh деймон. Так что в топку советы такого рода.
Статья действительно очень старая, и не актуальная, на данный моменд много чего появилось нового.
Например сейчас можно отказатся от CGI и FastCGI и запускать скрипты через модуль.
В итоге имеем скорость выполнения как у php_mod и возможность рулить ресурсами отдаными юзеру на уровне системы.

Аватара пользователя
UBRIUM
мл. сержант
Сообщения: 125
Зарегистрирован: 2009-11-16 4:05:34
Откуда: Ростов-на-Дону
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение UBRIUM » 2010-01-07 16:53:06

Привет, устанавливал port php5-extensions и указал устанавливать CURL, помогите с config'oм я просто не в курсе что из опций необходимо да и не все описания в интернете есть.

Код: Выделить всё

     ??????????????????????????????????????????????????????????????????????
     ?                    Options for curl 7.19.7_1                       ?
     ? ?????????????????????????????????????????????????????????????????? ?
     ? ?   [ ] CARES        Asynchronous DNS resolution via c-ares      ? ?
     ? ?   [ ] CURL_DEBUG   Enable curl diagnostic output               ? ?
     ? ?   [ ] GNUTLS       Use GNU TLS if OPENSSL is OFF               ? ?
     ? ?   [ ] IPV6         IPv6 support                                ? ?
     ? ?   [ ] KERBEROS4    Kerberos 4 authentication                   ? ?
     ? ?   [ ] LDAP         LDAP support                                ? ?
     ? ?   [ ] LDAPS        LDAPS support (requires LDAP and SSL)       ? ?
     ? ?   [ ] LIBIDN       Internationalized Domain Names via libidn   ? ?
     ? ?   [ ] LIBSSH2      SCP/SFTP support via libssh2                ? ?
     ? ?   [ ] NTLM         NTLM authentication                         ? ?
     ? ?   [X] OPENSSL      OpenSSL support                             ? ?
     ? ?   [X] PROXY        Proxy support                               ? ?
     ? ?   [ ] TRACKMEMORY  Enable curl memory diagnostic output        ? ?
     ? ?                                                                ? ?
     ? ?                                                                ? ?
     ??????????????????????????????????????????????????????????????????????
     ?                       [  OK  ]       Cancel                        ?
     ??????????????????????????????????????????????????????????????????????
FreeBSD 9.0-RELEASE amd64
CPU: AMD Athlon 64 X2 Dual Core Processor 4400+ (2294.95 K8-class CPU)
real memory = 4294967296 (4096 MB)
da0: 7660MB <JetFlash Transcend 8GB 8.07>
ad2: 114343MB <Seagate ST3120022A 8.01>

Аватара пользователя
server801
ст. лейтенант
Сообщения: 1421
Зарегистрирован: 2008-09-27 21:15:16
Откуда: Саратов
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение server801 » 2010-01-07 17:08:57

я больше ничего и не тыкал

Аватара пользователя
UBRIUM
мл. сержант
Сообщения: 125
Зарегистрирован: 2009-11-16 4:05:34
Откуда: Ростов-на-Дону
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение UBRIUM » 2010-01-07 17:21:51

Хорошо, пойду той же дорогой.
FreeBSD 9.0-RELEASE amd64
CPU: AMD Athlon 64 X2 Dual Core Processor 4400+ (2294.95 K8-class CPU)
real memory = 4294967296 (4096 MB)
da0: 7660MB <JetFlash Transcend 8GB 8.07>
ad2: 114343MB <Seagate ST3120022A 8.01>

Аватара пользователя
m4rkell
мл. сержант
Сообщения: 136
Зарегистрирован: 2008-09-19 7:50:05
Откуда: Москва
Контактная информация:

Re: APACHE+SUEXEC+PHP

Непрочитанное сообщение m4rkell » 2011-03-19 11:04:00

Господа, настраивал по этой статье, при установке php5-расширений выбрал GD, при выводе пхп инфо, показывает что

Код: Выделить всё

GD Support	enabled
GD Version	bundled (2.0.34 compatible)
FreeType Support	enabled
FreeType Linkage	with freetype
FreeType Version	2.4.4
T1Lib Support	enabled
GIF Read Support	enabled
GIF Create Support	enabled
JPEG Support	enabled
libJPEG Version	8
PNG Support	enabled
libPNG Version	1.4.5
WBMP Support	enabled
XBM Support	enabled
Но вот засада, каптча не генерится...



В логах нет ошибок никаких((( помогите плиз
Software is like a sex - its better when its free

Аватара пользователя
wien
сержант
Сообщения: 151
Зарегистрирован: 2014-06-26 18:38:44
Откуда: DafaultCity
Контактная информация:

APACHE+SUEXEC+PHP

Непрочитанное сообщение wien » 2015-04-30 0:03:32

Извиняюсь за некропостинг, но вопрос скорее к верховному ребе.
В скрипте есть такие строчки, судя по всему в которых должен генерироваться пароль для SSH и FTP:

Код: Выделить всё

# такого пользователя нет - заводим в системе
user_passwd="`${pw} useradd ${user_name} -c \"UserDomain = \
${domain_name}\" -L webuser -s /bin/csh -d ${hosting_preffix}/${user_name}`"
Но, к сожалению на выходе пустая строка. Простой вопрос как быть? Как например всандалить пароль для входа по SSH и FTP от MySQL?
Интересуюсь не просто так, а потому что не нашел команды, которой можно было бы пароль из переменной скормить, только интерактивные, как например passwd.

lazhu
сержант
Сообщения: 254
Зарегистрирован: 2013-08-10 14:28:38
Контактная информация:

APACHE+SUEXEC+PHP

Непрочитанное сообщение lazhu » 2015-04-30 9:11:51

wien писал(а):

Код: Выделить всё

# такого пользователя нет - заводим в системе
user_passwd="`${pw} useradd ${user_name} -c \"UserDomain = \
${domain_name}\" -L webuser -s /bin/csh -d ${hosting_preffix}/${user_name}`"
Эта команда не генерирует никаких паролей, она добавляет пользователя в систему, и на stdout у нее пустая строка. Чтобы задать пароль через pw, используйте опцию -h:

Код: Выделить всё

man pw
...
-h fd			This option provides a special interface by which interac?
                   tive scripts can set an account password using pw.  Because
                   the command line and environment are fundamentally insecure
                   mechanisms by which programs can accept information, pw
                   will only allow setting of account and group passwords via
                   a file descriptor (usually a pipe between an interactive
                   script and the program).  sh, bash, ksh and perl all pos?
                   sess mechanisms by which this can be done.  Alternatively,
                   pw will prompt for the user's password if -h 0 is given,
                   nominating stdin as the file descriptor on which to read
                   the password.  Note that this password will be read only
                   once and is intended for use by a script rather than for
                   interactive use.  If you wish to have new password confir?
                   mation along the lines of passwd(1), this must be imple?
                   mented as part of an interactive script that calls pw.

                   If a value of ‘-’ is given as the argument fd, then the
                   password will be set to ‘*’, rendering the account inacces?
                   sible via password-based login.
                   ...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

APACHE+SUEXEC+PHP

Непрочитанное сообщение Alex Keda » 2015-05-01 16:38:52

когда-то, она могла генерить пасс и выплёвывать его, насколько я помню.
--
а вообще, лучше юзайте mpm-itk

и безопасно, и быстро, и параметры интерпретатора через .htaccess можно настраивать
Убей их всех! Бог потом рассортирует...

Аватара пользователя
wien
сержант
Сообщения: 151
Зарегистрирован: 2014-06-26 18:38:44
Откуда: DafaultCity
Контактная информация:

APACHE+SUEXEC+PHP

Непрочитанное сообщение wien » 2015-05-08 8:13:42

Всех благодарю за ответы, задаю пароли пока руками (passwd username).
...а вообще, лучше юзайте mpm-itk...
Вместо suexec+fastcgi?