[Nasıl] Lighttpd Webserver + PHP 5 + MySQL Kurulumu

Başlatan plusnettr, 27 Ağustos 2010 - 01:21:11

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

plusnettr

Merhaba Arkadaşlar,

Ubuntu'daki sunucu uygulamalarında Apache tabanının biraz dışına çıkmak istedim. Apache kadar sunucu kaynaklarını tüketmeyen hafif bir webserver uygulaması olan Lighttpd'nin kurulumunu anlatacağım.

Lighttpd'nin güncel bir sürümü Ubuntu depolarınde mevcut kurulum için aşağıdaki komutu veriyoruz.

sudo apt-get install lighttpd

Ardından PHP 5 desteği için aşağıdaki komut ile PHP5-CGI kurulumunu yapıyoruz. Lighttpd CGI modunda kullanmaktadır.

sudo apt-get install php5-cgi

PHP ayarlarımızı canlandırmak için Nano ile PHP ayar belgesindeki düzenlemeyi yapıyoruz.

sudo nano /etc/php5/cgi/php.ini

cgi.fix_pathinfo = 1 şeklinde olacaktır.

Ardından PHP modüllerini Lighttpd ayar belgesi içinde düzenliyoruz. Buradaki ayarlar PHP 5 kuracak arkadaşlar için referans olması bakımından kendi düzenlenmiş ayar belgemin tamamını aktarıyorum gerekli modül olan mod_fastcgi karşısındaki # işaretini kaldırarak modülü aktifleştiriyoruz.

sudo nano /etc/lighttpd/lighttpd.conf içindeki ayarlar;

# Debian lighttpd configuration file
#

############ Options you really have to take care of ####################

## modules to load
# mod_access, mod_accesslog and mod_alias are loaded by default
# all other module should only be loaded if neccesary
# - saves some time
# - saves memory

server.modules              = (
            "mod_access",
            "mod_alias",
            "mod_accesslog",
            "mod_fastcgi",
#           "mod_compress",
#           "mod_rewrite",
#           "mod_redirect",
#           "mod_evhost",
#           "mod_usertrack",
#           "mod_rrdtool",
#           "mod_webdav",
#           "mod_expire",
#           "mod_flv_streaming",
#           "mod_evasive"
)

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root       = "/var/www/"

## where to upload files to, purged daily.
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )

## where to send error-messages to
server.errorlog            = "/var/log/lighttpd/error.log"

## files to check for if .../ is requested
index-file.names           = ( "index.php", "index.html",
                               "index.htm", "default.htm",
                               "index.lighttpd.html" )


## Use the "Content-Type" extended attribute to obtain mime type if possible
# mimetype.use-xattr = "enable"

#### accesslog module
accesslog.filename         = "/var/log/lighttpd/access.log"

## deny access the file-extensions
#
# ~    is for backupfiles from vi, emacs, joe, ...
# .inc is often used for code includes which should in general not be part
#      of the document-root
url.access-deny            = ( "~", ".inc" )

##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )


######### Options that are good to be but not neccesary to be changed #######

## Use ipv6 only if available. (disabled for while, check #560837)
#include_shell "/usr/share/lighttpd/use-ipv6.pl"

## bind to port (default: 80)
# server.port               = 81

## bind to localhost only (default: all interfaces)
## server.bind                = "localhost"

## error-handler for status 404
#server.error-handler-404  = "/error-handler.html"
#server.error-handler-404  = "/error-handler.php"

## to help the rc.scripts
server.pid-file            = "/var/run/lighttpd.pid"

##
## Format: <errorfile-prefix><status>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix    = "/var/www/"

## virtual directory listings
dir-listing.encoding        = "utf-8"
server.dir-listing          = "enable"

## send unhandled HTTP-header headers to error-log
#debug.dump-unknown-headers  = "enable"

### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot            = "/"

## change uid to <uid> (default: don't care)
server.username            = "www-data"

## change uid to <uid> (default: don't care)
server.groupname           = "www-data"

#### compress module
compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ("text/plain", "text/html", "application/x-javascript", "text/css")


#### url handling modules (rewrite, redirect, access)
# url.rewrite                 = ( "^/$"             => "/server-status" )
# url.redirect                = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )

#
# define a pattern for the host url finding
# %% => % sign
# %0 => domain name + tld
# %1 => tld
# %2 => domain name without tld
# %3 => subdomain 1 name
# %4 => subdomain 2 name
#
# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"

#### expire module
# expire.url                  = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")

#### rrdtool
# rrdtool.binary = "/usr/bin/rrdtool"
# rrdtool.db-name = "/var/www/lighttpd.rrd"

#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
#var.mystring = "foo"

## integer add
#bar += 1
## string concat, with integer cast as string, result: "www.foo1.com"
#server.name = "www." + mystring + var.bar + ".com"
## array merge
#index-file.names = (foo + ".php") + index-file.names
#index-file.names += (foo + ".php")


#### external configuration files
## mimetype mapping
include_shell "/usr/share/lighttpd/create-mime.assign.pl"

## load enabled configuration files,
## read /etc/lighttpd/conf-available/README first
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

#### handle Debian Policy Manual, Section 11.5. urls
## by default allow them only from localhost
## (This must come last due to #445459)
## Note: =~ "127.0.0.1" works with ipv6 enabled, whereas == "127.0.0.1" doesn't
$HTTP["remoteip"] =~ "127.0.0.1" {
alias.url += (
"/doc/" => "/usr/share/doc/",
"/images/" => "/usr/share/images/"
)
$HTTP["url"] =~ "^/doc/|^/images/" {
dir-listing.activate = "enable"
}
}


MYSQL desteği için;

sudo apt-get install mysql-server mysql-client kurulumunu yapıyoruz burada standart MySQL kurulumunu gerçekleştireceğiz.

PHP5 için MySQL ve gerekli tum modülleri ekliyoruz oluşturuyoruz.

sudo apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-common

Son olarak /var/www/ dizinimiz içinde phpinfo.php betiğini oluşturuyoruz

<?php
phpinfo
();
?>


Yaptığınız tüm ayarların oluşturulabilmesi için serveri yeniden başlatmayı unutmayın yeniden başlatma için aşağıdaki komutu kullanıyoruz.

sudo /etc/init.d/lighttpd restart

10-fastcgi.conf ve 50-phpmyadmin.conf ayar belgeleri /etc/lighttpd/conf-enabled/ içine PHP ve PHPMyadmin tarafından oluşturulacaktır. PHPMyadmin kurulumu yaparken Server türünde Apache yerine lighttpd seçmeyi unutmayınız.

Teknik bir sorun ile karşılaştığınızda bildirmeyi unutmayınız.

Lighttpd kullanarak Apache'den daha fazla performansı fazla sunucu kaynağı tüketmeden elde edebilirsiniz. Unutmamanız gereken ise Apache'den eksik yönünün modül desteği olduğudur.

Kolay gelsin ;)


LMDE - Ubuntu 11.04 - Fedora 14

eribol


canosayan

Chmod bizim işimiz.

eribol

@plusnettr, wikiye ekleyebilir misin? Eğer ekleyemezsen akşama ben eklerim.

plusnettr

Alıntı yapılan: eribol - 27 Ağustos 2010 - 13:01:33
@plusnettr, wikiye ekleyebilir misin? Eğer ekleyemezsen akşama ben eklerim.

@eribol, wiki hakkında fazla fikrim yok siz ekleyebilirsiniz. İlginiz için teşekkürler ;)
LMDE - Ubuntu 11.04 - Fedora 14

plusnettr

http://wiki.ubuntu-tr.net/index.php/Lighttpd_Kurulumu

Wiki'ye eklenmiştir arkadaşlar. Eksik bir noktası var ise düzenlerseniz teşekkür ederim. Wiki'yi çözmeye çalışıyorumda :D
LMDE - Ubuntu 11.04 - Fedora 14