Domů > Uncategorized > Instalace Gentoo web serveru

Instalace Gentoo web serveru

Příspěvek obsahuje moje poznámky ke zprovoznění gentoo webserveru.

Instalace MySQL

cd /etc/init.d/
./mysql start


Pokud není nainstalována db:

/usr/bin/mysql_install_db
Installing MySQL system tables...
090521 20:21:02 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
090521 20:21:02 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables...
090521 20:21:02 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
090521 20:21:02 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
./mysql start
/usr/bin/mysqladmin -u root password 'login_rootra'
/usr/bin/mysqladmin -u root -p -h czechit.net password 'login_rootra'
mysql -u root -p
create database tony_blog;
grant usage on *.* to tony@localhost identified by 'heslo_tony';
grant all privileges on tony_blog.* to tony@localhost ;
flush privileges;

Nastavení automatického startu apache

rc-update add apache2 default
rc-update show

Přidání dalších uživatelů

czechit ~ # useradd -m -U michal
czechit ~ # passwd michal

Předělání vlastníků rekurzivně (tvar: uživatel:skupina):

czechit www # chown -R michal:michal michal

Instalace mod wsgi

Mod WSGI je jednoduchý Apache modul na spouštění Python skriptů jako CGI skriptů. Instalace se provede následovně:

czechit ~ # emerge mod_wsgi
Calculating dependencies... done!
 
!!! All ebuilds that could satisfy "www-apache/mod_wsgi" have been masked.
!!! One of the following masked packages is required to complete your request:
- www-apache/mod_wsgi-2.4 (masked by: ~x86 keyword)
- www-apache/mod_wsgi-2.3 (masked by: ~x86 keyword)
- www-apache/mod_wsgi-2.1 (masked by: ~x86 keyword)
 
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

Nejde nainstalovat, protože jde o takzvaný masked balíček. Je nutno explicitně potvrdit instalaci, to se udělá např. přes alias:

alias aemerge='ACCEPT_KEYWORDS="~x86" emerge'

Nyní můžeme instalovat:

aemerge mod_wsgi

Tím jsme nainstalovali modul WSGI do Apache, automaticky se dostal i do /etc/apache2/modules.d, ale s direktivou . Musíme tedy proměnnou WSGI nastavit, to se dělá v: /etc/conf.d/apache2, kde nastavíme APACHE2_OPTS na:

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D PHP5 -D WSGI"

Nyní můžeme napsat první WSGI skript viz návod. Do vhosts.d do 05_other_hosts.conf doplníme:

<VirtualHost *:80>
#    ServerName www.example.com
#    ServerAlias example.com
#    ServerAdmin webmaster@example.com
    DocumentRoot "/var/www/py/htdocs"
    ServerName py.czechit.net
    <Directory "/var/www/py/htdocs">
      Order allow,deny
      Allow from all
    </Directory>
 
    WSGIScriptAlias /myapp /var/www/py/htdocs/myapp.wsgi
</VirtualHost>

Instalace DJANGO

Sice by to šlo přes emerge, ale nebylo patrné jaká je přesně verze v nabídce, proto instaluji ručně:

wget http://www.djangoproject.com/download/1.0.2/tarball/
tar xzvf Django-1.0.2-final.tar.gz
cd Django-1.0.2-final
python setup.py install
 
czechit / # django-admin.py
Type 'django-admin.py help' for usage.
 
czechit / # cd /home/tonda/django/
czechit django # django-admin.py startproject site1

Nyní je nutno vytvořit WSGI skript, který zavolá Django kód (viz tento návod):

import os, sys
sys.path.append('/home/tonda/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'
 
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Podstatné je, že musí být vyplněna absolutní cesta v sys.path, protože WSGI skript je spouštěn z jiného adresáře.
Pak již stačí nastavit 05_other_hosts.conf:

<VirtualHost *:80>
#    ServerName www.example.com
#    ServerAlias example.com
#    ServerAdmin webmaster@example.com
    DocumentRoot "/var/www/py/htdocs"
    ServerName py.czechit.net
    <Directory "/var/www/py/htdocs">
      Order allow,deny
      Allow from all
    </Directory>
 
    WSGIScriptAlias / /home/tonda/django/django.wsgi
    <Directory "/home/tonda/django">
      Order allow,deny
      Allow from all
    </Directory>
</VirtualHost>
Bookmark and Share
Tags: ,
  1. Bez komentářů.
  1. Žádné zpětné odkazy
Security Code: