Преди да започна с глупостите искам да кажа, че не съм много напред с web hosting-а и всичко което ще напиша е опит които съм придобил в последните 2-3 месеца. Администрирам едни доста натоварен VPS по посещаемост според tyxo е в топ 80 но влиза в топ 70 ;). Та мисълта ми е, че вече след толкова време придобих разни навици и достигнах до добрите практики по един или друг начин (обикновено по трудния) :D. Няма да пиша или да навлизам в детайли на конфигурацията никак даже. По скоро ще споделя идеите над които да помислите.

  1. Обновявайте софтуера редовно. Apache, php mysql всичко си иска обновления. Дали за да закърпите дупки в сигурниста, дали заради поправени бъгове или нови възможности. Винаги дръжте софтуера си в крак с времето. По принцип рядко се пробива един сървър през апликациите обикновено през дупки в кода на хостваните неща се пробива ама да не разчитаме само на това.
  2. Apache – web server-а ви не е желателно да има активни повече модули от тези които реално ползвате. Колкото повече модули по- бавна работа.
  3. Повече потребители на същия сървър – opcode cache. Преди време писах пък и zerdion направи доволно тестове и се вижда реално ползата от тая магия. В моя случай съм избрал eAccelerator защото в реална работна среда той показва най добри резултати с пуснати всички настройки към него. По бързо зареждане по малко ядене на ресурси което респективно означава повече потребители.
  4. Притискат ви с трафика – gzip. Най лесния начин да намалите реални трафик които правите е с gzip компресия на http отговорите към клиента. Mod deflate е решението за apache. За други http server-и не съм проучвал въпроса :). Реално около 50% ми падна трафика при компресия върху html,css,js,xml. Трябва да проверя дали мога да компресирам и друг вид съдържание ще е интересно. Защото реално снимките са съдържанието което прави най много трафик в един сайт.
  5. mysql serer – горещо ви препоръчвам ако не сте се наградили с версия 5.1 да го направите. Като цяло Oracle имат някакъв малък опит с бази данни 😆 и тоя опит са го вкарали добре в 5.1 версията не съм пробвал 5.5 но и това планувам да стане скоро.  Определено се ускори работата на sql заявките може би леко падна натоварването но с не повече от 5-6% но a пък и новите функционалности за програмистите са прекрасни. Основаната такава partitions. При надграждане внимавайте какви настройки имате в my.cfg Не всички стари опции са валидни, също е добре да махнете старите библиотеки поне при CentOS 5.5 направиха проблеми при Debian нямах такива ядове. След това си вижте mysql log-а защото някои от опциите са с различни имена и е добре да ги промените ако след време минете към 5.5 да не се чудите защо не палва конфигурацията ви.
  6. sql заявките.  Задължително разрешете опцията за записване на slow query. По тези дневници можете да върнете информация на програмистите ако не сте вие за бавните заявки да се оптимизират. Колкото по малко такива заявки по малко натоварване за сървъра ви 😉
  7. Малко защита – сменете подразбиращия се порт на ssh-а ви няма нужда смотани ботове да се опитват да ви хакват. Apache го подсигурете с mod_security доста полезен модул прави филтрация на доста шитни – sql inj, rfi DDoS и прочие. Няма да спре голям хахор ама поне ламерите ще ги отсее. PHP е добра идея да се защити с Suhosin. Може да се сложи като допълнително разширение или направо като пач в php кода. Аз лично предпочитам първия по изчистен ми се струва.

Като за начало това са нещата които се сещам. Не са много а като се замисля съм направил доста оптимизации по сървъра но много от тях са доста специфични според ситуацията и няма смисъл да ги обяснявам тях като например лимитации на кешове или пък колко процеса има вдигнато apache-то. Вероятно с времето ще се сещам и за още неща които са как да кажа част от малките неща които дават големия резултат. Машината е доста добре оптимизирана за сравнение ние правим на 20к уникални посещения на ден и сме на най ниския възможен vps план load time на страниците ние не надхвърля 1,5-2 сек или ако го надхвърля е заради външните източници на реклами иначе самата страница се изплюва за части от секундата. Хора с близки позиции до нас са с не оптимизирани сървъри с доста повече ресурси от нашия и имат същите резултати. Общо взето оптимизиране му е майката и пиенето на бира бащата 😆

ps Песничката леко се връзва с тематиката 😀

Реших да драсна още една полезна статиика за елементано уеб сървърче покриващо основните нужди Apache, PHP  и MySQL 🙂 като цяло няма да се впускам в конкретни настроики и прочие защото тогава бих кръстил статията Perfect WEB Server 😉 при малко желание винаги нещата могат да се продължат 😉 Като цяло малко думички кое за какво ще ни трябва 🙂

1. Apache2 😉 колкото по ново толкова по малко изветни експлоти или липса на такива няма нужда повече коментари

2. PHP5 ами то скоро се чака 6-та версия 4-та официално е прекратена така че няма се занимаваме с стари неща 🙂

3. MySQL5 6-та версия е в алфа стадии не ми се ще да ми гърми с фрешки 😉

Като цяло повечето модерни дистрибуции си съдържат в хранилищата необходимите пакети 😉 и самата инсталация ще протече максимално гладко ако изпозлвате инструмента си за инсталация apt-get slapt-get, emerge, yim, iast 🙂 ит.н

Така нещата написани за дебиан мисля че с малко корекции или без въобще ще са актуални и за другите дристроци а за дебианските деривати нещата 100% ще работят, така значи следва инсталацията:

apt-get install apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

като цяло това са необходимите ви пакети за работа общо взето само след инсталация рестартираите апачито за да си хване настроиките и вече трябва да може да ползвате вашие уеб сървър. По подразбиране /var/www/ е вашата уеб директория.Общо взето леко ще пипнем конфа на апачито че да можем да разрешим PHPMyAdmin-a отворете с любимия си редактор /etc/apache2/apache2.conf като най накрая на фала добавяме

# Enable PHPMyAdmin

Include /etc/phpmyadmin/apache.conf

След това рестартираме апачито и на адрес http://localhost/phpmyadmin е достъпен phpadmin-a 😉

Ако по време на инсталацията Mysql-а не ви е питал за парола хубаво е да я сетнете в последтвие с командата

mysql -u root

Ще бъдете попитани за паролка треснете ентър или въобще няма да бъдете попитани 🙂 след това изпълнете

SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘123456’);

като заместите 123456 с вашата парола 🙂 и напишете exit след това пишете

mysql -u root -p

и ще ви бъде поискана новат ви парола 🙂 Ами в общи линии е това 🙂 Смяната на паролата е най- малко защото се влиза с потребителя и паролата за базата данни в PHPMyAmin-a 😉

За М$ най- лесния вариант е като си изтеглите WAMP пакета инсталира се по подразбиране в c:\wamp ако имате инсталиран скаип е хубаво да му спрете да позлва 80-ти и 443-ти порт защото по подразбиране апачито ползва 80-ти 😉 та по лесно е да спрете от скаипа вместо да чоплите апачи конфига, въпреки че ако ще се зарибявате за по сериозни неща ще трябва да го пипнете тук таме 😉 Вече следка като всичкое готово си имате c:\wamp\www уеб директория

Като цяло горещо ви препоръчвам да ползвате подобни неща под линукс защото много кодове не работят съвсем корекно под М$ или въобще не работят. 🙂

Малко съветче ако сте решили да си споделяте хостинга а сте с динамично IP или пък сте зад рутер с такова нещо 😉 Съвсем успено може да ползвате NO-IP проекта които за Дебиан пак е достъпен през apt-get 🙂 Като цяло при регистрацията на този саит ще ви бъде данено домеинче кото през определен интервал се обръща към софтура на компютъра за актуализация на IP адрса ви, ако сте зад рутер трябва да нагласите в самия рутер forwording правила за вашето IP в вътрешната ви мрежа.

Доста време несъм дращил нищо – мързел и тотална лиспа на време. Понеже сега си оправям блога защото по стар обичаи на обущаря децата му боси, та и аз така 🙂 саита ми беше под всяква критика. Сега си ъпдеитнах до последна версия на WordPress да са живи и здрави пичовете за техния труд, наситна много готинко се е получил. Можеби някои ден като имам повече време да напиша поредния шит ще плясна нява добавка за WP-то. Та сега малко да се похваля, сиреч да се изфукам колко съм доволен от живота и как съм най- големия. Ми като за начало купих мечтания хардец SeaGate 320GB SATA2 16MB кеш 🙂 звучи секси нали 😉 . Оборудван съм и с ново мониторче Samsung SM920NW немога да го нахваля, това е една малка перла (малка 19 инчова). Наситна е добър работил съм на много TFT-та но това с лека ръка забърсва всички по пътя си, осбено Philips-ите, че нали си имам в къщи и на работат по един,ем скъпо ем неструват 😛 . Та мисълта ми беше че е с нормални хатрактеристики и е на скромнта цена от 370лв което не е много за толкова добро изпълнение. Е верно от към дизаин не е нещо впечетляващо но пък каква картина 😀 . Е като цяло това са новите ми придобивки. Сега малко да се пофукам къв съм голям програмяга 😉 . Ми вече си имам сърбър изцяло изграден от мен – едно скромно торентче. Машината я оборудвах с Debian 4.02r netinstall и направо си заспа. За торент система му инсталирах Btit Tracker v.1.4.7 една наистина добра, лесна за управление и модифициране системка. Докато я преработвах че да стане в подходящ и удобен за потребителя вид дори си направих мои модове (или модове на модовете по скоро) 😆 хихихихи. Жалкото е че машината няма да види бял свят ще е локален торент тракер на 100-на човека в едно съседно село 🙁 . Друго постижение в скромните ми програмистки познания е че MySQL е лошо 🙂 на няколко пъти ми се случи съсвсем безпрични да падне базата дани 🙁 и тогава с ходене на богордица по мъките ги оправих, което от една страна е хубаво че видях почти всички възможни вариации за поправка на база дани. Колкото повече изпозлзвам PgSQL толкова по смело мога да твърдя че тои е доброто :mrgreen: единственто нещо което не харесвам в него е по кофти админстрация, но какво ли ми разбира глвата все пак съм по- добър програмсит отколкото адмиинистратор. Пак дълго се получи 🙂