OpenVPN klient na Gentoo

Tak tu máme první návod pro klienta na OpenVPN, první bude pro můj nejoblíbenější OS – Gentoo Linux…

Nejdříve si mergnem balíček s OpenVPN:

emerge -av openvpn
Poté si vyžádáme od správce OpenVPN sítě certifikát a klíč pro připojení a zkopírujem do složky /etc/openvpn/server

Dále navštívíme složku /etc/openvpn a vytvoříme config pro připojení k serveru “server”:

cd /etc/openvpn/
nano server.conf

Obsah configu :

# server ke kteremu se pripojujeme
remote server

# tls jako klient
tls-client

# port, 1194 = default
port 1194

# protokol, tcp/udp
proto tcp-client

# nastaveni zarizeni
dev tap0

# povoluje stazeni konfigurace ze severu
pull

# certifikat certifikacni autority
ca server/ca.crt

# certifikat klienta - upravit podle nazvu vaseho certifikatu
cert server/client.crt

# certifikat klienta - upravit podle nazvu vaseho certifikatu
key server/client.key

# uzivatel pod kterym bezi klient
user nobody

# skupina pod kterou bezi klient
group nogroup

# opakovani radku v logu
mute 10

# logy klienta
log-append /var/log/openvpn.log

# status klienta
status /var/run/vpn.status 10

# komprese prenasenych dat
comp-lzo

# ukecanost klienta
verb 3

#cache kvuli restartu
persist-tun
persist-key

Upravíme hodnoty remote,ca,cert,key podle hodnot, které jsme obdrželi od správce OpenVPN sítě a uděláme link server.conf na openvpn.conf:
ln -s /etc/openvpn/server.conf /etc/openvpn/openvpn.conf
Dále vytvoříme link v initscriptech…
ln -s /etc/init.d/openvpn /etc/init.d/openvpn.server
A pokud jsme obdrželi správné hodnoty, tak by mělo stačit:
/etc/init.d/openvpn start
Mno a pokud se podařilo a chcete se připojovat třeba při každém bootu, tak zadejte:
rc-update add openvpn boot

Arch Linux a Gran Paradiso

Zahlídly jste někdy název Gran Paradiso ve statistice návštěvnosti webu? Nebo snad máte sami Arch Linux a zajímá vás stejně jako mě, proč nemáte Firefox, ale Gran Paradiso ?

U mě šlo o jednu z prvních otázek,l které mě napadli po instalaci Archu, ale až dnes jsem se dostal k jejímu řešení. Chtěl bych si tedy zodpovědět tři otázky :

Proč Gran Paradiso?

Arch Linux při kompiplaci firefoxu(při vytvoření balíčku pro repositáře) provádí určité ůpravy(například linkování na systémové knihovny), což vylučuje použití přepínače –enable-official-branding.
Jinými slovy : při ůpravě se musí firefox nazývat jiným jménem. Jméno je totiž včetně ikonky totiž tím oficiálním brandingem(označením).
Z tohoto důvodu Arch Linux používá ikonku planety a název Gran Paradiso je podle aktuální vývojové větve(resp. série vydání)
Tento “problém” má také Debian, který si “vlastní Firefox” pojmenovat jako IceWeasel

Proč chci Firefox

Pod tímto podivným názvem logicky ztroskotá většina (nejen) JavaScriptových skriptů, které se spolíhají na to, že rozpoznají vašeho user-agenta(název a verze prohlížeče) a na základě něho vás buď správně informoval o kompatibilitě prohlížeče s aplikací, nebo, jak jsem už dříve psal, zapisuje si různou statistiku.

Jak nainstalovat Firefox do Arch Linuxu?

Nejjednodušší je stáhnout si metabalíček firefox-branded z AUR
# cd # wget http://aur.archlinux.org/packages/firefox-branded/firefox-branded.tar.gz # mkdir ~/bin/archbuilds/firefox # cd ~/bin/archbuilds/firefox # tar -xvf ~/firefox-branded.tar.gz # cd firefox-branded # makepkg # sudo pacman -Rd firefox # sudo pacman -U firefox-branded-*.pkg.tar.gz
Pokud máme vyřešené všechny závislosti, tak se můžeme vydat na dlouho cestu překládání – kompilování Firefoxu.
Je to sice trochu nefér, je to ty i svým způsobem ztráta času, ale řešení není až tak složité a pokud člověk chce hledat, tak si přečte tento “mini-návod” a má “nefalšovaný” firefox

UPDATE: pro update Firefoxu musíme starý odinstalovat (pacman -Rd firefox-branded), do složky firefox-branded stáhnout nový PKGBUILD z http://www.arteal.name/~arteal/firefox-branded-3.0.10/PKGBUILD, znovu vytvořit balíček a nainstalovat ho.

Tunning Arch Linux-u

Dnes se podíváme na pár maličkosti, které mohou zvýšit (nebo vylepšit) výkon částí našeho Arch Linuxu :

Přenosné média a noatime

Přenosnými médiemi myslím např. USB flash disky, nebo SD karty…

“noatime” je mountovací parametr, díky kterému vypneme zápis access time-u(přístupového času). Bez tohoto parametru je při každém přístupu k souboru(přístup neznamená zápis) zapsán přístupový čas, což ve výsledku znamená, že každé čtení vyvolá zápis, což bude v případě USB “flashek” podstatně pomalejší a životnostně nevýhodné(ano, flash paměti mají omezený počet zápisů).

O nastavení tohoto parametru se nám postará HAL. Takže si vytvoříme soubor /etc/hal/fdi/policy/noatimehotplug.fdi :
viz <a href="http://www.arteal.name/data/news/95/noatimehotplug.fdi">http://www.arteal.name/data/news/95/noatimehotplug.fdi</a>

Problém s mountováním disků v KDE

Pokud se vám nově připojené (pevné) disky zobrazív menu dolphinu, ale pokus o jejich připojení selže na hlášce obsahující “PermissionDeniedByPolicy”, tak můžete aplikovat tento hotfix na soubor /etc/PolicyKit/PolicyKit.conf :
viz <a href="http://www.arteal.name/data/news/95/PolicyKit.conf">http://www.arteal.name/data/news/95/PolicyKit.conf</a>
Poté restartujeme dbus,HAL a KDE a je to, jede 🙂


Zdroj : HAL Arch Linux wiki

Vlastní Arch Repositář

Arch Linux nám nabízí zajímavou možnost a to vytvoření vlastního repozitáře

Určitě se ptáte : “proč?”

Jistě, důvody jsou minimálně dva :

  • Našel jsem balíček (zdrojový kód), který není v žádném Arch repositáři a chci ho “čistě vložit” do systému
  • Chci mít přehled nad všemi balíčky, které jsem si jakkoliv upravil a tudíž nepoužívám jejich oficiální “arch verzi”

U mě je to víceméně obojí 🙂 Takže v vytvoření repositáře :

Vytvoříme složku

mkdir /var/local/artealarchrepo/i686
Umístění a název složky jsou jen na vás :)(použil jsem “zanoření” i686, protože nyní používám tuto architekturu, ale je možné že časem zkusím/přejdu na x86_64, takžechci aby byli balíčky oddělené

Přidání repositáře do zdrojů pacman-a

Přidáme záznam do souboru /etc/pacman.conf
[aar] Server = file:///var/local/artealarchrepo/i686
Nyní jsem si zkopíroval všechny dříve vytvořené balíčky (Virtual Box, Krusader2, Amarok2 atd.) do složky nového repositáře

Teď si vytvořím databázi repositáře :
cd /var/local/artealarchrepo/i686/ sudo repo-add /var/local/artealarchrepo/i686/aar.db.tar.gz *.pkg.tar.gz
No a nyní nám nic nebrání si sestavené balíčky příkazem “repo-add” přidávat do vlastního repositáře. O dalším využití vlastního repositáře zajisté časem ještě něco sepíšu 🙂

Arch Linux a LAMP

Toto krátké howto se bude zabývat instalací LAMP na Arch Linux.Instalace bude počítat s využitím virtual hostů, s použitím projektu Hardened PHP neboli Suhosin patch a s instalací základních funkčnostních PHP modulů jako je mcrypt,GD,

Začneme instalací balíků:
pacman -S apache php mysql php-suhosin php-apache php-mcrypt php-gd php-curl

Překonfuguruju si /etc/httpd na Gentoo-style
Špatné je na tom je to, že výchozí error log je v conf/modules.d/00_default_settings.conf
a výchozí access log je v conf/modules.d/00_mod_log_config.conf
Upravím php.ini(diff)

Spustím mysqld
SPustím mysql_secure_installation a nastavím heslo roota

Instalace Arch Linux

Rád bych se tu podělil o pár postřehů o instalaci Arch Linuxu na mem i686 stroji :]

ArchLive a WPA připojení

Prvním (potencionálním) problémem bylo to, že se do instalace pouštím pouze s bezdrátovým připojením a to ještě s WPA šifrováním. Ale Arch byl na toto skvěle připraven, takže po shromáždění pár informací od pana Googla jsem si vytvořil konfigurační soubor pro mojí Ganja síť v /etc/wpa_ganja.conf : ctrl_interface=/var/run/wpa_supplicant eapol_version=1 ap_scan=1 fast_reauth=1 network={ ssid="Ganja" scan_ssid=0 proto=WPA key_mgmt=WPA-PSK pairwise=TKIP group=TKIP psk="tajneheslovplaintextu" } a to poté “zapnul” spuštěním # wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_ganja.conf A ještě si vyžádal (v jiné konzoli, wpa_supplicant nesmíme přerušit) od routeru DHCP : # dhcpcd wlan0Toto nastavení je celkem snadno dohledatelné, ale uvádím ho pro ůplnost a hlavně pro vlastní ůčely 🙂

Čemu se při instalaci určitě vyhněte je oficiální český mirror, čili fpt.sh.cvut.cz jako základní repositář.Má totiž problém s “package listy”, takže když pak budete chtít nainstalovat např. firefox, tak vám nabídne neexistující balíčky, které samozřejmě nestáhne ani ze svého, ani z jiného repositáře. Já jsem si vybral jako výchozí mirror německý ftp.hosteurope.de a jsem spokojen 🙂

Dále, ostatně jako celou dobu postupuji optimálně podle ArchWiki::Beginner’s Guide
V /etc/rc.conf jsem si zvolil toto nastavení: LOCALE="en_US.utf8" HARDWARECLOCK="localtime" USEDIRECTISA="no" TIMEZONE="Europe/Prague" KEYMAP="cz" CONSOLEFONT= CONSOLEMAP= USECOLOR="yes" #... HOSTNAME="shavo" #... MODULES=(!snd_pcsp) #... (Pozn. kdyz jsem tipoval že by KEYMAP mohlo být spíš “cs”, užil jsem si s OpenBoxem hodně zábavy, azbuka a různé šílenosti to psalo, nedoporučuju :D, MODULES=(!snd_pcsp) nám vypne PC Speaker, nesnáším totiž když na mě speaker řve, pokud tedy speaker chcete, tak toto vynechejte)

Zbytek instalace je dosti intuitivni, takze k nemu neni moc co dodat. Jediné, co mi došlo trochu otravné je to, že nejdřív člověk použije celkem chytrý skript na rozdělení partition a poté si sami musíte psát /etc/fstab, no na druhou stranu to zase takový boj není 🙂

UPDATE : : nová verze instalátoru(2009.02) vytvoří /etc/fstab sama 🙂

Nastavení X serveru

Nyní se přeneseme do situace, kdy jsme ůspěšně nainstalovali a nabootovali Arch Linux a pouštíme se do instalace DE
Podle Beginner’s Guide je vše srozumitelně (a hlavně funkčně) sepsané, takže jedeme víceméně stále “copy & paste”, sranda začíná až u rozložení klávesnice pro X :
Jelikož jsem si zvolil aktivní hotplugging, tak jsem si podle návodu zkopíroval soubor 10-keymap.fdi a pustil se do jeho ůpravy. Docela dobrou chvíli mi trvalo než jsem zjistil jaké hodnoty zde opravdu chci mít, nakonec upravené řádky vypadají takto: cz,en ,winkeys Nicméně si jsem si téměř jistý že opravdu správné nastavení rozložení mi zajišťuje až KDE. Pokud o této věci zjistím víc, tak se to tu určitě objeví.
Nyní je nejlepší doba si vyzkoušet xorg.conf, který jsem si nechal vygenerovat příkazem Xorg -configure.
A pokud chci aby X-server fungoval podle mých představ a to je rozlišení 1440×900 a podpora DRI je potřeba upravit tyto řádky : Section "Monitor" #... Modeline "1440x900_60.00" 106.47 1440 1520 1672 1904 900 901 904 932 -HSync +Vsync Modeline "1440x900_75.00" 136.49 1440 1536 1688 1936 900 901 904 940 -HSync +Vsync EndSection Section "Device" #... Option "DRI" "true" EndSection "Screen" #... SubSection "Display" Viewport 0 0 Depth 24 Modes "1440x900" EndSubSection EndSection Section "DRI" Mode 0666 EndSection (Pozn. #… je pouze zástupná značka pro různý obsah, který byl, v mém případě, správně vygenerovaný a není třeba jej měnit)
Nyní by jsme měli mít přípravený X server a můžeme pokračovat přímo balíčky pro DE

Instalace desktopového prostředí

A vemem to, jak se říká, z ostra : pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera pacman -S zlib shared-mime-info pacman -S kde Nyní si upravíme konfigurační soubor /etc/rc.conf tak, aby mám spoštěl potřebné daemony hned při bootu :
DAEMONS=(syslog-ng hal network netfs crond alsa kdm) No a buď rebootujeme do KDE, nebo si ho prostě pustíme a to takto : /etc/rc.d/hal start /etc/rc.d/kdm start No a nyní máme již systém funkční a můžeme se kochat novým KDE 4.2 🙂

Velice zajimavou možností(jak je popsáno zde) je nespouštět KDM jako daemona, ale přímo z initu(Aby jsme se pak mohli například přihlásit do konzole pokud nám “mrzne” KDM, což se stát může :), upravíme tedy /etc/inittab :
# Boot to console #id:3:initdefault: # Boot to X11 id:5:initdefault: # Example lines for starting a login manager #x:5:respawn:/usr/bin/xdm -nodaemon #x:5:respawn:/usr/sbin/gdm -nodaemon x:5:respawn:/usr/bin/kdm -nodaemon5:initdefault:
A taky /etc/rc.conf :
DAEMONS=(syslog-ng hal network netfs crond alsa !kdm)

Pár poznatků na závěr

Jde o bodový seznam, hlavně rozdílů oproti Ubuntu/Debianu, které jsem doteď používal :

  • Amarok je v balíčku amarok-base – chvíli mi trvalo než jsem ho našel
  • Flash je v balíku flashplugin, jelikož Arch není tak striktní v otevřenosti jako Debian(-nonfree)
  • xine je šikovný, ikdyž hlásí, že ESD není dostupný, tak si s více zvukovými zdroji poradí bez otazek :]
  • balíček nainstaluji pomocí pacman -S[balíček], update balíčků pomocí pacman -Syy
  • KDE 4.2 je pěkné a použitelné :]