Apache PHP MYSQL Kurmak
LAMP (Linux Apache Mysql PHP) kurulup bazı ayarların yapılması
Komut Sisteminden:
Bu belgede Ubuntu altında Apache2,PHP 4 (ve 5), ve MySQL 4.1 ile aynı zamanda Java desteği ile gelen Apache Tomcat 5 içeren LAMP (Linux-Apache-MySQL-PHP) kurulumu ve yapılandırılması anlatılacaktır.
Depoların kontrol edilmesi
Apache'nin kurulabilmesi için Universe depolarının aktif olması lazım.
Apache 2 kurulumu
sudo aptitude install apache2
PHP 4 kurulumu
sudo aptitude install php4
Hata çözümü
Eğer apache kurduktan sonra yine de php dosyalarını yorumlayamıyorsa, libapache2-mod-php4 paketini kurun. Normalde php4'ü kurduğunuzda beraber gelmesi lazım, ancak bazı kullanıcılar kurulmadığını belirtiyorlar. Ayrıca bunu aktif hale getirmek için
sudo a2enmod php4
komutunu da kullanmanız gerekiyor.
PHP 5 kurulumu
sudo aptitude install php5
Daha Sonra http://localhost/deneme.php Şeklinde Yazdığınızda php dosyasının çalışabilmesi için yetki vermelisiniz bunun için
nano /etc/apache2/apache2.conf yazıp
User www-data Group www-data
Kısmını kendinize göre değiştirin
User salih Group salih
Gibi
MySQL kurulumu (PHP 4 ile)
sudo aptitude install mysql-server sudo aptitude install libapache2-mod-auth-mysql sudo aptitude install php4-mysql
Eğer güçlü ve güzel bir grafiksel arabirim isterseniz phpmyadmin programını kurabilirsiniz.
sudo aptitude install phpmyadmin
Eğer phpmyadmin'i çalıştrmaya kalktığınızda blowfish_secret hatası alıyorsanız :
/etc/phpmyadmin/blowfish_secret.inc.php dosyasının içinden kriptografi için bir parola bulun ve bu parolayı içeren satırı (php için olan kısmı değil) /etc/phpmyadmin/config.inc.php dosyasının içine kopyalayın. Aksi takdirde sürekli bu hatayı alırsınız.
Eğer parolayı kopyalamanıza rağmen hala hata alıyorsanız, sistemi yeniden başlatın.
Mysql basit bir grafiksel arabirime de sahip, her ne kadar çok işlevsel olmasa da deneyebilirsiniz:
sudo aptitude install mysql-admin
MySQL kurulumu (PHP 5 ile)
sudo aptitude install mysql-server sudo aptitude install libapache2-mod-auth-mysql sudo aptitude install php5-mysql
Eğer güçlü ve güzel bir grafiksel arabirim isterseniz phpmyadmin programını kurabilirsiniz.
sudo aptitude install phpmyadmin
Eğer phpmyadmin'i çalıştrmaya kalktığınızda blowfish_secret hatası alıyorsanız :
/etc/phpmyadmin/blowfish_secret.inc.php dosyasının içinden kriptografi için bir parola bulun ve bu parolayı içeren satırı (php için olan kısmı değil) /etc/phpmyadmin/config.inc.php dosyasının içine kopyalayın. Aksi takdirde sürekli bu hatayı alırsınız.
Not: Ben ne yazık ki sistemi yeniden başlatmadan bunu etkin hale getiremedim. Sistem tekrar başlatıldığında, hata ortadan kayboldu.
Mysql basit bir grafiksel arabirime de sahip, her ne kadar çok işlevsel olmasa da deneyebilirsiniz:
sudo aptitude install mysql-admin
MySQL kurulum sonrası ayarları
Standart yapılandırma için şu komutları verin:
cd /usr sudo ./bin/mysql_install_db --user=mysql
Veri tabanına ilk defa erişmek için şu komutu verin:
sudo mysql -u root
Mysql konsolunda root kullanıcısı için şu komutu verin (mysql> kısımları yazılmadan):
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('kendi_parolanız');
Yeni bir kullanıcı oluşturmak için şu komutu verin:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'kullanıcı_adınız'@'localhost' IDENTIFIED BY 'kendi_parolanız' WITH GRANT OPTION;
mysql konsolundan çıkmak için:
mysql> q
Apache yapılandırılması
Şu an kullandığınız kullanıcının PHP sayfalarının yöneticisi olmasını isteyebilirsiniz. Bunun için Apache yapılandırma dosyasını düzenlemelisiniz.
gksudo "gedit /etc/apache2/apache2.conf"
Bu dosyada User ve Group bölümlerini bulup kullanıcı isminiz ve ait olduğu grubu yazın. Apache'yi yeniden başlatmanız gerekir (aşağıda anlatılacaktır).
Kullanıcı web siteleri (localhost/~kullanıcı_adı ile ulaşılan) ile ilgili ayarlar /etc/apache2/mods-enabled/userdir.conf dosyasındadır.
MySQL ile çalışmak için PHP yapılandırılmasını düzenlemek
PHP ve MySQL'in iletişim sağlayabilmeleri için PHP yapılandırma dosyasını düzenlemeniz lazım:
gksudo "gedit /etc/php4/apache2/php.ini"
eğer PHP5 kullanıyorsanız:
gksudo "gedit /etc/php5/apache2/php.ini"
;extension=mysql.so satırının önündeki ; karakterini kaldırın ve Apache'yi yeniden başlatın.
Apache'nin başlatılması, durdurulması ve yeniden başlatılması
Apache'yi başlatmak için şu komutu kullanın:
sudo /usr/sbin/apache2ctl start
Durdurmak için:
sudo /usr/sbin/apache2ctl stop
Yeniden başlatmak için:
sudo /usr/sbin/apache2ctl restart
Apache'nin kullanılması
Apache'ye ulaşmak için internet gezgininizin adres çubuğuna 127.0.0.1 (ön tanımlı olarak port 80 kullanılır) yazmanız yeterli. Öntanımlı olarak Apache sunucu sayfaları /var/www dizininde bulunur.
Durum
PHP kurulum durumunuzu kontrol etmek için:
gksudo "gedit /var/www/testphp.php"
komutu ile yeni bir dosya oluşturun ve içine şunu yazın:
<?php phpinfo(); ?>
Daha sonra gezgininizde http://localhost/testphp yazarak PHP bilgilerinizi görün. Bu sayfada kurmuş olduğunuz PHP sürümü ile bilgiler olması gerekir. Eğer hiç bir şey göremiyorsanız, buraya kadar yaptığınız adımları kontrol edin.
Apache güvenliği
Eğer Apacheyi sadece geliştirme amaçlı kullanıyorsanız, örneğin sadece evinizde, dışardan gelen bağlantılar için dinlenilmesini engelleyebilirsiniz.Bunun için
gksudo "gedit /etc/apache2/ports.conf"
komutu ile gerekli dosyayı açın ve içindeki satırı şu şekilde değiştirin:
Listen 127.0.0.1:80
Dosyayı kaydedin ve Apache'yi yeniden çalıştırın. Böylece Apache sadece kendi bilgisayarınızda çalışacaktır.
Bir dizini .htaccess kullanarak parola-korumalı hale getirmek
Parola ile korumak istediğinizi dizinin altında .htaccess isminde (başındaki noktaya dikkat) bir dosya oluşturun ve içine:
AuthUserFile /your/path/.htpasswd AuthName "Authorization Required" AuthType Basic require valid-user
satırlarını ekleyin. Burada valid-user yerine doğrudan kullanıcıları da ekleyebilirsiniz.
Eğer bir dizinin içindeki tek bir dosyayı parola-korumalı hale getirmek istiyorsanız:
<Files "mypage.html"> Require valid-user </Files>
satırlarını ekleyin.
Daha sonra /istenilen/dizin/.htpasswd dosyasını oluşturun. Bu dosya bizim izin verdiğimiz kullanıcıları ve parolalarını içerecek. Bu dosyayı oluşturmak için htpasswd komutunu kullanıyoruz:
htpasswd -c /istenilen/dizin/.htpasswd kullanıcı1
-c etiketi sadece bu dosya ilk defa oluşturulduğunda kullanılır. Bu dosyaya diğer başka kullanıcılar eklemek için birinci seferden sonra -c etiketini kullanmamalısınız,böylece dosyanın devamına bir kullanıcı eklenir. Aksi takdirde dosya sıfırlanacaktır.
Bu dosyanın çok güvenli bir yerde saklanması gerekir. Örneğin sadece web sunucunun okuyabileceği bir yerde.
Daha sonra /etc/apache2/apache2.conf dosyasına şu satırları eklemeliyiz:
<Directory /istenilen/dizin> AllowOverride All </Directory>
Sadece /istenilen/dizin/.htpasswd ayarlaması yapmalısınız. Daha sonra tekrar Apache'yi başlatın.
Hata çözümü
Eğer sayfalarınıza ulaşamaıyorsanız kullanıcı ismi ve parolanızı doğru girin. Hala çalışmıyorsa .htpasswd dosyanızın yolunu kontrol edin. Ayrıca AuthUserFile directive ile belirtilen yolun doğru tanımlandığına emin olun. Aynı zamanda .htpasswd ve .htaccess dosyalarının sunucu kullanıcısı tarafından okunabilir olması lazım.
chmod 0644
komutu ile bu hatayı giderebilirsiniz.
Örnek
Aşağıda kullanıcıların bir dizine erişimini kapatan, belirlenen bir dosyayı parola-korumalı hale getiren ve belirlenen bir dosyanın kullanıclar tarafından görülebilir kılan bir örnek var:
AuthUserFile /your/path/.htpasswd AuthName "Authorization Required" AuthType Basic Order Allow,Deny <Files myfile1.html> Order Allow,Deny require valid-user </Files> <Files myfile2.html> Order Deny,Allow </Files>
Apache Tomcat 5
Jakarta Tomcat bir Java servlet taşıyıcısıdır ve Apache Tomcat adı altında Apache ailesine dahil edilmiştir. Aşağıdaki adımları takip ederek kurabilirsiniz.
Apache Tomcat kurulumundan önceki adım
- Java edinin. (sdk değil jdk)
sudo apt-get install sun-java5-jdk
- Java çevresel ayarlarını yapılandırın
export JAVA_HOME="java home dizininiz" export PATH=$PATH:$JAVA_HOME/bin
Şuan depolarda ki sun-jdk'nın mevcut sürümü için örnek komut:
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.06 export PATH=$PATH:$JAVA_HOME/bin
Apache Tomcat kurulumu
sudo aptitude install tomcat5 tomcat5-admin tomcat5-webapps
Apache Tomcat'in başlatılması, durdurulması ve yeniden başlatılması
sudo /etc/init.d/tomcat5 start sudo /etc/init.d/tomcat5 stop sudo /etc/init.d/tomcat5 restart
Tomcat5'i kullanmak
Eğer yukardaki adımları doğru yaptıysanız Tomcat'i aşağıdaki ip ile çalışırken görebilirsiniz.
127.0.0.1:8180
herhangi bir sorunda :
sudo gedit /etc/default/tomcat5
komutu ile açılan tomcat ayarlarında ki #JAVA_HOME satırı aşağıdaki şekli almış olmalıdır.
... JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.06 ...
Tomcat5 yönetimi
Eğer yukarıda gösterildiği şekilde Tomcat yönetim paketini de kurduysanız, yönetim penceresine geçebilmek için aşağıdaki dosyayı düzenlemeniz gerekir:
gksudo "gedit /usr/share/tomcat5/conf/tomcat-users.xml"
ve Tomcat'in ana sayfasında anlatıldığı şekilde admin ve manager yetkileriyle yeni bir kullanıcı oluşturmak için aşağıdaki satırları ekleyin:
<role rolename="manager"/> <role rolename="admin"/> <user username="kullanıcı_ismi " password="kendi_parolanız" roles="admin,manager"/>
Eğer sadece tek bir yetki ile kullanacaksanız birini silin. Örneğin sadece
<role rolename="admin"/> <user username="kullanıcı_ismi " password="kendi_parolanız" roles="admin"/>
Tomcat5 içinde yeni servlet veya jsp sayfaları kurmak
Tomcat yönetecisini kullanarak servlet/jsp'lerinizi düzenli olarak kontrol edebilirsiniz.
- Sunucunuza giriş yapın (öntanımlı olarak 127.0.0.1:8180)
- Tomcat yönetim sayfasına kullanıcı isminizi ve parolanız ile girin (sol taraftaki bağlantı)
- Deploy bölümünü bulun ve WAR veya Directory URL kısmına şunu yazın:
file://kendi SERVLET veya JSP sayfa dizininiz
Genellikle servlet/jsp sayfaları /usr/share/tomcat5/webapps dizininde bulunur.
Görsel Olarak Kurulum
Öncelikle Synaptic açılmalı
Search yardımı ile apacheyi bulup işağretliyoruz:
php yi buluyor ve işağretliyoruz:
Gerekli gördüğünüz extensionlarıda işağretleyebilirsiniz. Mysql bulunup işağretleniyor:
Testimizi yapıyoruz:
Dosyalarınızı koyacağınız klasör: /var/www
Apache nin ayar klasörü: /etc/apache2/
Eğer /var/www klasörünü değiştirmek isterseniz:
By default all your configuration files are located at /etc/apache2
Default document root for apache2 is /var/www.If you want to change the default document root you need to edit the /etc/apache2/sites-available/default file and look for this line “DocumentRoot /var/www/” here you can change where ever you want to change.For example if you want to change /home/wwww the above line looks like this “DocumentRoot /home/www/”.
The main configuration file located at /etc/apache2/apche2.conf.
Installing php and cgi support for apache2
If you want to add support of php and cgi scripts install the following packages libapache2-mod-php4,php4-cli,php4-common,php4-cgi
#apt-get install libapache2-mod-php4 php4-cli php4-common php4-cgi
This will complete the installation of php support for apache2
If you want to allow the different index files types check for the following line in /etc/apache2/apache2.conf file DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.shtml
Restart the apache server
#/etc/init.d/apache2 restart
Testing your apache Server
You can access you apache using http://yourserverip/apache2-default/ it should appear the following message
“If you can see this, it means that the installation of the Apache web server software on this system was successful. You may now add content to this directory and replace this page.
Recomended module
apache2-mpm-worker
The worker MPM provides a threaded implementation for Apache2. It is considerably faster than the traditional model,and is the recommended MPM.You can install this using the following command.
#apt-get install apache2-mpm-prefork
Other files and folder located under /etc/apache2
conf.d/
Files in this directory are included by this line in apache2.conf:# Include generic snippets of statements Include
/etc/apache2/conf.d
This is a good place to add additional configuration directives.
httpd.conf Empty file.
magic
Magic data for mod_mime_magic Apache module, documented in htdocs/manual/mod/mod_mime_magic.html. You probably don’t need to touch this.
mods-available/
This directory contains a series of .load and .conf files.The .load files contain the Apache configuration directive necessary to load the module in question. The respective .conf files contain configuration directives necessary to utilize the module in question.
mods-enabled/
To actually enable a module for Apache2, it is necessary to create a symlink in this directory to the .load (and .conf, if it exists) files associated with the module in mods-available/.For example:cgi.load -> /etc/apache2/mods-available/cgi.load ports.conf Configuration directives for which ports and IP addresses to listen to.
sites-available/
Like mods-available/, except it contains configuration directives for different virtual hosts that might be used with apache2. Note that the hostname doesn’t have to correspond exactly with the filename. ‘default’ is the default host.
sites-enabled/
Similar in functionality to mods-enabled/, sites-enabled contains symlinks to sites in sites-available/ that the admnistrator wishes to enable.
Example:test -> /etc/apache2/sites-available/test
Enable and Disable modules and sites in apache2
a2enmod and a2dismod are available for enabling and disabling modules utilizing the above configuration system.
a2ensite and a2dissite have been added, which do essentially the same thing as the above tools, but for sites rather than modules.
Kaynaklar
wiki.linux-sevenler.org/index.php/Ubuntu_altinda_Apache_MySQL_PHP_kurulumu_ve_ayarlari
www.debianadmin.com/apache2-installation-and-configuration-with-php-support-in-debian-linux.html