Limit DirectAdmin MySQL usage for users

#!/bin/sh

#Limits (setting these options to 0 removes the limit)
MAX_QUERIES_PER_HOUR=0
MAX_UPDATES_PER_HOUR=0
MAX_CONNECTIONS_PER_HOUR=0
MAX_USER_CONNECTIONS=0

#We get DirectAdmin MySQL root user and password here
DA_MYSQL=/usr/local/directadmin/conf/mysql.conf
MYSQLUSER=`grep „^user=“ ${DA_MYSQL} | cut -d= -f2`
MYSQLPASSWORD=`grep „^passwd=“ ${DA_MYSQL} | cut -d= -f2`

mysql -e „use mysql; UPDATE mysql.user SET
max_questions=${MAX_QUERIES_PER_HOUR},
max_updates=${MAX_UPDATES_PER_HOUR},
max_connections=${MAX_CONNECTIONS_PER_HOUR},
max_user_connections=${MAX_USER_CONNECTIONS} WHERE user!=’da_admin’ AND
user!=’root’ AND user!=’da_roundcube’ AND user!=’da_atmail’; FLUSH
PRIVILEGES;“ –user=${MYSQLUSER} –password=${MYSQLPASSWORD}

echo „Limits have been set.“
exit 0;

LAMP Serverio konfiguraciniai failai silpniems serveriams

Su šiomis konfiguracijomis LAMP serveris puikiausiai veiks turint 256 RAM operatyviosios atminties. Būdėjimo rėžimu LAMP serveris naudos maždaug 50 RAM.

httpd.conf failas randasi /etc/apache2

StartServers 1
MinSpareServers 1
MaxSpareServers 1
ServerLimit 50
MaxClients 50
MaxRequestsPerChild 5000

my.cnf failas randasi /etc/mysql arba etc

[mysqld] user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir        = /usr
datadir        = /var/lib/mysql
tmpdir        = /tmp
language    = /usr/share/mysql/english
skip-external-locking
skip-innodb

bind-address        = 127.0.0.1

skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
innodb_file_per_table = 1

[mysqldump] quick
max_allowed_packet = 16M

[mysql] no-auto-rehash

[isamchk] key_buffer = 8M
sort_buffer_size = 8M

[myisamchk] key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy] interactive-timeout

Ir pabaigai, jei naudojate phpmyadmin ir prisijungus jums rodo įspėjimus, kad

„Serveris veikia su Suhosin. Prašome perskaityti dokumentaciją dėl galimų problemų.“

Išjungiame Suhosin

suhosin.ini failas randasi /etc/php5/conf.d

Užkomentuojame antrą elutę

; configuration for php suhosin module
;extension=suhosin.so

ir pakeičiam suhosin.session.encrypt = on į

suhosin.session.encrypt = Off

Viską atlikus perkraunam mysql ir apache2 servisus

/etc/init.d/apache2 restart

/etc/init.d/mysql restart