Мэйл илгээгдэхгүй байх үед qmail тохиргоон дээр
/var/qmail/queue хандалтын хязгаарлалттай шинээр суусан байна. Тохируулаад хэвийн ажиллаж байна.
php session бичигдэхгүй хязгаарлалтаас болоод нэвтэрэлт, капча зэрэг сэшион ашигласан хэсгүүд ажиллахгүй байх үед
/var/lib/php/session утгыг php.ini дотор өөрчлөх юм уу энэ хавтасны хандалтын эрхийг тохируулна.
Kloxo php.ini template /usr/local/lxlabs/kloxo/file/phpini дотор бий. /script/fixphp
MySQL query cache тохиргоог /etc/my.cnf дотор хийнэ. Жишээ:
query_cache_size = 268435456
query_cache_type=1
query_cache_limit=1048576
max_connections=100
php суулгах
Код: Бүгдийг сонгох
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel
/var/qmail/supervise/pop3/: No such file or directory
засах:
chmod 777 /var/qmail/supervise
then
yum -y reinstall courier-imap qmail
yum -y reinstall *toaster*
/script/fixvpop
/script/fixmail
service courier-imap restart
This bug is denied by the Kloxo admins. It is a bug, a lot of people have problems with it and 1 developer of Kloxo can't reproduce it so it is not a bug.
See my bugreport with all detailed information you can wish:
http://project.lxcenter.org/issues/863
I do not expect a bugfix for it. But I made a workaround to keep my server running as good as possible. Maybe you can use it too.
Create a file /root/incorrectcheck with the following information:
Код: Бүгдийг сонгох
#!/bin/bash
ERROR=0
function checkDir(){
for entry in ${1}/*
do
if [ -f "$entry" ];then
filename=$(basename "$entry")
extension="${filename##*.}"
filename="${filename%.*}"
check=`expr index "$filename" "."`
if [ $check = 0 ];then
echo "Incorrect file $entry !!!";
mv -f $entry /root/trash
ERROR=1
fi
fi
done
}
checkDir "/home/apache/conf/exclusive"
checkDir "/home/apache/conf/wildcards"
checkDir "/home/apache/conf/domains"
checkDir "/home/apache/conf/redirects"
# if we found an incorrect file, restart Apache
if [ $ERROR = 1 ];then
echo "Incorrect files found. Graceful restart Apache to be sure everything is fine";
service httpd graceful
STATUS=`service httpd status`
SUBJECT="Corrupt Apache files found"
EMAIL='almasd@gmail.com'
EMAILMESSAGE="/tmp/emailmessage.txt"
echo "Corrupt Apache files found and removed. Apache graceful restarted.Apache status: $STATUS" >>$EMAILMESSAGE
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
rm $EMAILMESSAGE
fi
After that create a cronjob every minute:
What this all does:
It checks for corrupt files, removes them and restart Apache. If your Apache is down because of a corrupt file and Apache restart it will start Apache. So you will never have a downtime longer then 1 minute anymore.
I know the script can be more efficient, but I am a system administrator and not a programmer Smile Choice for PHP was because my bash scripting skills are too old and need to be refreshed Smile
in addondomain lib under
Code: [Select all] [Show/ hide]
// have trouble when use addondomain, so use full_update
#$web->setUpdateSubaction('full_update');
add
Код: Бүгдийг сонгох
//#863 This changes from a fullupdate to just running addon again.
//Did not want to remove it altogether as the comment above was to fix some previous problem.
$web->setUpdateSubaction('addondomain');
and
in web__apachelib.php
under
Код: Бүгдийг сонгох
function enablePhp()
{
global $gbl, $sgbl, $login, $ghtml;
$domname = $this->main->nname;
//$uname = $this->main->username;
add
Код: Бүгдийг сонгох
//Issue #863
$uname = ($this->main->username) ? $this->main->username : $domname;
and under
Код: Бүгдийг сонгох
function syncToPort($port, $cust_log, $err_log)
{
global $gbl, $sgbl, $login, $ghtml;
$base_root = "$sgbl->__path_httpd_root";
$user_home = "{$this->main->getFullDocRoot()}/";
$domname = $this->main->nname;
$string = null;
// issue #656 - When adding a subdomain, the Document Root field is not being validated
// Adding quotations so that we can work with directories with spaces
// MR -- also for other lines
if ($this->main->isOn('force_www_redirect')) {
$string .= "\tServerName www.{$domname}\n" ;
} else {
$string .= "\tServerName {$domname}\n" ;
}
$string .= "###serveralias###";
$string .= "\t".$this->getBlockIP();
$string .= $this->getDocumentRoot('www');
$string .= "\t".$this->getIndexFileOrder();
$string .= "\t".$this->getAwstatsString();
add
Код: Бүгдийг сонгох
//Fix for Issue #863
$string .= "\t".$this->getSuexecString(($this->main->username) ? $this->main->username : $this->main->nname);
Under the bug report for issue #863 this fix is there. Credits go to the discoverer obviously. I would have posted there with an affirmative response in regards to it working but my project account never got activated despite signing up and verifying my email. As of now it appears this fix works. With the exception of one tiny flaw removing the addon it adds an entry just like the one that was added when the configuration was broken.
http://project.lxcenter.org/issues/941
Pure FTP пассив болохгүй MLSD тушаал timeout болж алдаа зааж орохгүй үед.
/etc/pure-ftpd/pure-ftpd.conf дотор
PassivePortRange 30000 50000
гэсний урд талын чагтыг арилгана.
Firewall дээрээ портыг нээнэ:
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 30000:35000 -j ACCEPT
порт зарим тохиолдолд iptables -A гэж бичээд нээгддэггүй -I гээд болно.
iptables -I RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
ингээд болох ёстой гэнэ.
Код: Бүгдийг сонгох
[apache/conf] httpd does not start --> _default.conf | cp_config.conf | disable.conf | webmail.conf
Ive been having the same problem with the VirtualHosts line in the apache config files on slave servers.
Ive come up with a fix on centos, its not pretty but it works.
The problem seems to lie in the getSyncClass when it is called on line 195 in /usr/local/lxlabs/koloxo/httpdocs/htmllib/lib/linuxlib.php. There is an if (...) statement on line 199 that is expecting to see the value 'redhat', but the value that is returned is null, and as such the line below '_$list = Ipaddress__Redhat::getCurrentIps();_' is ignored.
A proper fix would need to look at the function getSyncClass(...) and the surrounding functionality, but for a quick fix modify lines 199-201 from this:
Код: Бүгдийг сонгох
if ($driverapp === 'redhat') {
$list = Ipaddress__Redhat::getCurrentIps();
}
to this:
Код: Бүгдийг сонгох
// if ($driverapp === 'redhat') {
$list = Ipaddress__Redhat::getCurrentIps();
// }
On the command line type 'service kloxo restart', then in the GUI find the slave server and goto IP Addresses and click Re Read Ipaddress.
Hope this helps