Archiv pro štítek: Klenot.cz

Nová administrace webhostingu Klenot.cz

Na webhostingu Klenot.cz jsme spustili pro zákazníky zcela nový webhosting. Změn je skutečně velké množství. Zde se zaměříme pouze na nové administrační rozhraní.

Při vytváření nové administrace jsme vycházeli především z požadavků zákazníků. Mezi nově implementované funkce patří například rozšířená správa e-mailových schránek, správa databází, dns záznamů a dalších FTP přístupů. Dostupné jsou také podrobné informace o stavu provedených objednávek a expiraci domén.

Pokračování textu

Bič na uživatele sdílené MySQL

MySQL databázi používáme jako hlavní (a posledních pár měsíců jedinou*). S konfigurací MySQL pro naše prostředí jsme se za těch několik let co běží už docela poprali, takže nemáme výrazné problémy s výkonem, dostupností nebo zálohama. Co nám dlouho scházelo jsou informace o čerpání prostředků jednotlivými uživateli.Před nějakou dobou jsme v rámci upgrade MySQL přešli na upravenou verzi s patchem userstats.

Aktualizace 10/2011: skripty je možné stáhnout

Pokračování textu

Instalace dotazníkového serveru LimeSurvey

V dnešním zápisku se zaměřím na zprovoznění LimeSurvey serveru na systému CentOS 5. LimeSurvey je jednou z nejznámnějších open source dotazníkových aplikací. Aplikace je napsána kompletně v PHP. Samotná aplikace vyžaduje pro svůj správný chod několik komponent: SQL databázi (já jsem zvolil MySQL), web server (Apache HTTP server) s podporou PHP a poštovní server (Postfix). Podrobný popis požadavků můžeme najít v dokumentaci na stránkách projektu.

Instalace a konfigurace komponent

Nejdříve naistalujeme jednotlivé komponenty pro LimeSurvey

[root@vserver6:~]$ yum install httpd postfix mysql-server mysql mbstring php php-mbstring php-mysql

Význam jednotlivých komponent pro aplikaci LimeSurvey je zřejmý. Poštovní server Postfix bude sloužit pro odesílaní dotanzíků a pozvánek. Konfiguraci samotného poštovního serveru nemusíme pro naše potřeby ani upravovat, v předvolené konfiguraci Postfix zvládá odesílání zpráv. Na MySQL serveru si vytvoříme nového uživatele (například lime) a novou databázi (například LS_DB) pro naši dotazníkouvou aplikaci

[root@vserver6:~]$ mysql -u root -p <heslo_spravce>
mysql> CREATE USER lime IDENTIFIED BY PASSWORD '<nejake_heslo>';
mysql> CREATE DATABASE IF NOT EXISTS LS_DB;

Takto vytvořený uživatel lime nemá na našem MySQL serveru žádná privilegia a má přístup jenom z localhostu. Omezení pro přístum nám vyhovuje, protože aplikace LimeSurvey bude do databáze přistupovat jenom lokálně a žádné jiné přístupy nejsou požadovány a proto nemusíme ani povolovat port pro MySQL server ve firewallu. Uživateli lime však musíme přidělit privilegia, ale jenom pro databázi, kterou bude obsluhovat, tj. LS_DB

mysql> GRANT ALL ON LS_DB.* TO 'lime'@'localhost' IDENTIFIED BY '<heslo_uzivatele_lime>';

Pro apache server vytvoříme kořenový adresář například v /home/apache kam nakonec naistalujeme aplikaci LimeSurvey

[root@vserver6:~]$ mkdir -p /home/apache

Vzhledem k tomu, že v našem případě se bude na dotazníkový server přistupovat jenom přes HTTPS, musíme si vygenerovat pár klíčů a certfikát pro server, k čemu použijeme utilitku openssl. V našem případě si vystačíme i se self-signed cetifikátem

[root@vserver6:~]$ openssl req -new -x509 -nodes -out cert.pem -keyout key.pem -days 365

Uvedený příkazem jsme si na základě žádosti (req) o vydání certifikátu vygenerovali certifikát podepsaný sám sebou (-out <soubor_s_certifikatem>) a soukromý klíč (-keyout <soubor_se_soukromym_klicem>) s platností jeden rok (-days 365) pro náš dotazníkový server. Při generování certifikátu budeme požádaní o zadání některých identifikačních údajů. Soubor s certifikátem a soukromým klíčem vhodně umístníme a upravíme vlastníka a přístupová práva

[root@vserver6:~]$ mkdir -p /etc/httpd/ssl
[root@vserver6:~]$ mv cert.pem key.pem /etc/httpd/ssl
[root@vserver6:~]$ chown root:apache /etc/httpd/ssl/*.pem
[root@vserver6:~]$ chmod 640 /etc/httpd/ssl/*.pem

Dále si upravíme konfiguraci apache web serveru následovně

[root@vserver6:~]$ vim /etc/httpd/conf/httpd.conf
...
DocumentRoot /home/apache
...
NameVirtualHost *:80
<VirtualHost *:80>
     ServerAdmin admin@domena.com
     DocumentRoot /home/apache/
     RedirectPermanent / https://moje.domena.com
     ServerName moje.domena.com
</VirtualHost>
...
NameVirtualHost *:443
<VirtualHost *:443>
     SSLEngine on
     SSLCertificateFile /etc/httpd/ssl/cert.pem
     SSLCertificateKeyFile /etc/httpd/ssl/key.pem
     DocumentRoot /home/apache/
      ServerName moje.domena.com
</VirtualHost>
...

Z bezpečnostních důvodů aktivujeme direktivu open_basedir, která nám omezí spouštění PHP skriptů jenom na daný adresář a její hodnotu nastavíme na kořenový adresář apache serveru (tj. instalačního adresáře aplikace LimeSurvey)

[root@vserver6:~]$ vim /etc/php.ini
...
open_basedir = /home/apache
...

Rovněž tak si pro PHP upravíme memory limit, který představuje maximální množství paměti, které si může skript alokovat (určíme z dokumentace LimeSurvey, předvolená hodnota je 16M)

[root@vserver6:~]$ vim /etc/php.ini
...
memory_limit = 32M
...

Instalace LimeSurvey

Instalace a základní konfigurace dotazníkového serveru LimeSurvey je poměrně jednoduchá. Nejdřív si stáhneme balíček ze stránek projektu (aktuální verze byla 1.87+, build 8518). Obsah získaného balíčku (po rozbalení se nachází ještě v adresáři limesurvey) umístníme do kořenového adresáře apache web serveru, tj. do /home/apache

[root@vserver6:~]$ tar xvfz limesurvey187plus-build8518-20100323.tar.gz
[root@vserver6:~]$ cp -r limesurvey/* /home/apache/

V našem případě můžeme kopírovat i bez kořenového adrešáře limesurvey, protože nám na serveru bude běžet jenom aplikace LimeSurvey. Teď si musíme upravit několik základních nastavní pro LimeSurvey

[root@vserver6:~]$ vim /home/apache/config.php
...
//typ databáze
$databasetype		=	'mysql';

//umístnění databázového serveru
$databaselocation	=	'localhost';

//název databáze
$databasename		=	'LS_DB';

//název uživatele a heslo pod kterým se budeme přihlašovat na databázový server
$databaseuser		=	'lime';
$databasepass		=	'<heslo_uzivatele_$databaseuser>';

//prefix pro názvy tabulek - můžeme nechat prázdný v případě, že používáme samostatnou databázi pro LimeSurvey
$dbprefix		=	'lime_';

//kořenový URL pro web LimeSurvey - určíme podle umístnění souborů aplikace na serveru
$rooturl		=	"https://{$_SERVER['HTTP_HOST']}";

//umístnění instalace LimeSurvey na serveru
$rootdir		=	dirname(__FILE__);

//název administrátorského účtu a heslo
//je potřeba zadat při instalaci tabulek do databáze (viz níže) a zároveň se
//vytvoří identický administrátorský účet v databázi
$defaultuser		=	'admin';
$defaultpass		=	'<heslo_pro_$defaultuser>';
...

Do webového prohlížeče zadáme URL https://moje.domena.com/admin/install a klikneme na tlačítko „Populate Database“, přičemž se pro autentizaci použijí údaje z konfiguračního souboru ($defaultuser a $defaultpass). Následně si aplikace vytvoří tabulky v databázi, kretou jsme definovali v konfiguračním souboru config.php. Administrátorský účet, který jsme zapisovali do konfiguačního souboru config.php, se používá jenom při instalaci tabulek a na vytvoření identického administrátorského účtu v databázi, který si můžeme kdykoliv změnit a pod kterým se budeme přihlašovat do administrátorského rozhraní aplikace LimeSurvey. Nakonec ještě musíme upravit práva pro adresáře tmp/, upload/ a templates/ v instalačním adresáři aplikace tak, aby do nich web server mohl i zapisovat (nebo můžeme upravit vlastnictví souborů, připadně ACL záznamy)

[root@vserver6:~]$ chown -R root:apache /home/apache/tmp /home/apache/upload /home/apache/templates
[root@vserver6:~]$ chmod -R 775 /home/apache/tmp /home/apache/upload /home/apache/templates

Nakonec zrestartujeme apache web server

[root@vserver6:~]$ service httpd restart

a ověříme dostupnost na URL https://moje.domena.com/. Administrátorské rozhraní se nachází na adrese https://moje.domena.com/admin. V této chvílí již máme připravený dotazníkový server k použití, stačí když se přes administrátorské rozhraní přihlásime na server a můžeme vytvářet dotanzíky a uživatele.

Aplikace disponuje množstvím voleb pro tvorbu dotazníků a jejich správu, obsahuje také několik vestavěných šablon a také mnohojazyčnou podporu včetně češtiny. Potřebujete-li zpracovat nějaký dotazník nebo uďelat půzkum prostřednictvím internetu je LimeSurvey určitě to pravou volbou. Samorejmostí je také tvorba různých výtupních materiálů, například grafů, tabulek a různych dalších statistik. Aplikace je vhodná jak pro osobní použití tak pro použití ve firemním prostředí.

Webhosting Klenot.cz – Navýšení memory_limit pro PHP skripty na 64MB

Vzhledem k zvyšujícím se paměťovým nárokům CMS systémů jako jsou Joomla nebo Drupal navyšujeme u tarifu STANDARD memory_limit pro PHP na 64MB. Věříme, že touto změnou pomůžeme všem zákazníkům k běhu náročnějších aplikací a zkvalitnění stránek.

Pro nejmenší tarif BASIC je možné využít 32MB, pro STANDARD 64MB a pro ENTERPRISE až 96MB. Více o tarifech se dozvíte zde: ve srovnání hostingových tarifů.