OpenBSD grundinstallation med Apache, PHP, MySQL

Instruktionerna uppdaterade för version 4.6 (1 Nov 2009)

Översätt / translate
Svenska English German French Spanish Finnish Russian 
Högerklicka på länkarna i annonsen och välj att "öppna i nytt fönster" (eller ny flik) för att inte tappa bort denna sida
beställ installationsscript Med min guide som grund har jag skapat ett (nästan) helautomatiskt installationsscript. Det du behöver göra själv är att göra installationen som beskrivs på sid 1 i guiden ("introduktion"). Installationen från "Ports" till "Startup och shutdown filer" sker automatiskt med scriptet, med undantag för brandväggskonfiguration då denna är väldigt specifik för serverns användsingsområde samt det nät maskinen installeras i.

Apache, MySQL, PHP

Här börjar de installationer som kan tyckas ha lite mer inriktning mot vad servern ska användas till. Ofta har man oavsett slutligt användningsområde nytta av en webserver som har installerat stöd för PHP (som i sin tur kan använda MySQL databaser).

För att göra PHP ännu mer användbart kompilerar jag in stöd för bildformaten JPEG och PNG, samt bildbearbetnings libraryt GD, och stöd för FTP. Apache får stöd för suexec samt laddningsbara moduler. I konfigurationen av Apache skapar jag en separat katalog för lagring av inställningar för virtual hosts, allt för att senare slippa ändra i Apachens huvudkonfiguration. Default siten är inte tänkt att innehålla något nyttigt alls, mest pga alla windows virus som attackerar web servrar på deras IP adresser. I och med att alla virtual hosts på servern har sina egna loggfiler, så kommer huvud-loggen bara att innehålla accesser från virus och sökmotorer.

Jag har även satt in instruktioner för att kompilera in IMAP stöd i PHP. Detta för att maskinen ska gå att använda som server för en webmail klient i ett senare skede. IMAP kan även komma till nytta i egna projekt, men det går alltid att kompilera in senare om du inte har behov av det eller vill testa IMAP funktionerna direkt.

Komfiguration av komponenterna (speciellt Apache) görs senare då allt är installerat.

Apache

http://httpd.apache.org/
http://apache.dataphone.se/httpd/httpd-2.2.14.tar.gz

Hämta och packa upp:

mkdir -p /usr/local/src
cd /usr/local/src
wget http://apache.dataphone.se/httpd/httpd-2.2.14.tar.gz
tar xfz httpd-2.2.14.tar.gz
cd httpd-2.2.14
./configure --prefix=/usr/local/apache2 --enable-mods-shared=most \
--enable-suexec --with-suexec-docroot=/home/www \
--with-suexec-userdir=public_html \
--with-suexec-bin=/usr/local/apache2/bin/suexec \
--with-suexec-caller=www --enable-so --with-included-apr --enable-ssl
make
make install

Mycket av konfigurationen av Apache görs med fördel efter att PHP installerats, och en komplett konfiguration av web servern kommer beskrivas lite senare.

Byt ev. namn på medföljande Apache 1.3 startscript:

mv /usr/sbin/apachectl /usr/sbin/13_apachectl

Vill du ha kvar "gamla" apache (1.3) som följer med OpenBSD, så kan du köra den på en annan port. Ändra i /var/www/conf/httpd.conf

Sök efter "Port 80", och ändra till det du vill ha, ex. 8013 (som i 1.3).. Ändra också i <IfDefine SSL> blocket.

MySQL

http://www.mysql.com/
http://ftp.sunet.se/pub/unix/databases/relational/mysql/Downloads/MySQL-5.1/mysql-5.1.40.tar.gz

Hämta källkoden och packa upp:

cd /usr/local/src
wget http://ftp.sunet.se/pub/unix/databases/relational/mysql/Downloads/MySQL-5.1/mysql-5.1.40.tar.gz
tar xfz mysql-5.1.40.tar.gz
cd mysql-5.1.40

Kompilera och installera

groupadd _mysql; useradd -m -d /usr/local/mysql -g _mysql _mysql
CFLAGS="-O3" CXX=gcc
CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=/usr/local/mysql --enable-assembler \
--with-mysqld-ldflags=-static --with-client-ldflags=-static \
--with-plugins=federated --enable-thread-safe-client \
--without-comment --without-debug --without-libedit
make
make install

Installera mysql databasen, sätt lösenord för root

./scripts/mysql_install_db
chown -R root /usr/local/mysql
chown -R _mysql /usr/local/mysql/var
chgrp -R _mysql /usr/local/mysql
cp support-files/my-medium.cnf /etc/my.cnf
/usr/local/mysql/bin/mysqld_safe --user=_mysql &
/usr/local/mysql/bin/mysqladmin -u root password 'xxXXxxXX'

Lägg till i /etc/my.cnf under [mysqld] sektionen (minskar problem med för många öppna filer):

open-files-limit = 512

Ändra max_allowed_packed till något större än 1M (för att kunna spara större mängder data, exempelvis bilder direkt i ett fält i databasen.

max_allowed_packet = 20M

Lägg till/ändra i /etc/rc.conf.local, så att PHP hittar MySQL libraries:

shlib_dirs=/usr/local/mysql/lib/mysql

I /etc/login.conf lägger du till:

_mysql:\
        :datasize=2G:\
        :datasize-max=3G:\
        :datasize-cur=2G:\
        :maxproc=infinity:\
        :openfiles=8192:\
        :stacksize-cur=8M:\
        :localcipher=blowfish,8:\
        :tc=default:

Kör sen (för att ändra _mysql användarens inställningar för max open files m.m.)

usermod -L _mysql _mysql

För att kunna komma upp i den maxfiles gränsen måste man lägga till lite i /etc/sysctl.conf:

kern.maxfiles=8192
kern.maxproc=1024

kern.maxfiles sätter den övre gränsen för antalet öppna filer, och kern.maxproc sätter gränsen för antalet processer som kan vara igång samtidigt (apache kommer kanske behöva lite mer än default, och då är det lika att öka här på en gång)

 
 
Visar de 30 senaste vägarna in till guiden. Visa alla
G o o g l e (www.google.se), sökning efter 'guide till dns'
G o o g l e (www.google.se), sökning efter 'www.webmail.dataphone.se/src/logi'
G o o g l e (www.google.se), sökning efter 'tomas+awenmark+olin'
G o o g l e (www.google.se), sökning efter 'openbsd apache2'
G o o g l e (www.google.com), sökning efter 'openbsd filserver hÃ¥rdvara'
G o o g l e (www.google.se), sökning efter 'cgi to check openbsd pf status'
G o o g l e (www.google.se), sökning efter 'openbsd apache2'
G o o g l e (www.google.se), sökning efter 'openbsd apache php'
G o o g l e (www.google.se), sökning efter 'mysql guide'
G o o g l e (www.google.se), sökning efter 'mysql guide'
G o o g l e (www.google.se), sökning efter 'sinterad'
G o o g l e (www.google.se), sökning efter 'php.ini openbsd'
G o o g l e (www.google.se), sökning efter 'php.ini openbsd'




G o o g l e (www.google.se), sökning efter 'openbsd apache ssl php'
G o o g l e (www.google.se), sökning efter 'max_allowed_packed mysql'
G o o g l e (www.google.se), sökning efter 'named openbsd'
G o o g l e (www.google.se), sökning efter 'openbsd bind'
G o o g l e (www.google.se), sökning efter 'apache ssl guide'
G o o g l e (www.google.se), sökning efter 'DNS bind guide'
http://translate.googleusercontent.com/translate_c?hl=en&sl=sv&tl=en&u=http://www.bsd-guide.net/openbsd-base/index.php&rurl=translate.google.com&usg=ALkJrhgJ_xi2pu9ZiILk9lw8PU40Bu1m1w
G o o g l e (www.google.se), sökning efter 'openbsd install problem'
G o o g l e (www.google.se), sökning efter 'openbsd apache'
G o o g l e (www.google.se), sökning efter 'inurl:index.php?userID='
G o o g l e (www.google.se), sökning efter 'inurl:index.php?userID='
G o o g l e (www.google.se), sökning efter 'Domain Name server med bind'
G o o g l e (www.google.se), sökning efter 'Domain Name server med bind'