XAMPP FAQs for Linux
Description: Instructions on how to install XAMPP for Linux distributions.

# Linux Sıkça Sorulan Sorular

XAMPP'ı nasıl yüklerim?

  Linux işletim sisteminizi seçin, 32-bit ya da 64-bit versiyon.

  Yükleyicinin izinlerini değiştir

  `chmod 755 xampp-linux-*-installer.run`

  Yükleyiciyi çalıştır

  `sudo ./xampp-linux-*-installer.run`

  Hepsi bu kadar. XAMPP /opt/lampp dizininin altına yüklendi.

Does XAMPP include MySQL or MariaDB?

  Since XAMPP 5.5.30 and 5.6.14, XAMPP ships MariaDB instead of MySQL. The commands and tools are the same for both.

XAMPP'ı nasıl başlatırım?

  XAMPP'ı başlatmak için şu komutu çalıştırın:

  `sudo /opt/lampp/lampp start`

  Ekranda şuna benzer bir şey görmeliyiz:

  `Starting XAMPP 1.8.2...
  LAMPP: Starting Apache...
  LAMPP: Starting MySQL...
  LAMPP started.
  Ready. Apache and MySQL are running.`

  Eğer herhangi bir hata mesajı alırsanız Yazın sayfaları adresini yardım için ziyaret edin.

  Ayrıca sunucularınızı kolayca yönetebileceğiniz görsel bir araç da vardır. Bu aracı şu komutla başlatabilirsiniz:

  `cd /opt/lampp
  sudo ./manager-linux.run (or manager-linux-x64.run)`

XAMPP'ı nasıl durdururum?

  XAMPP'ı kolayca durdurmak için şu komutu çalıştırın:

  `sudo /opt/lampp/lampp stop`

  Ekranda şuna benzer bir şey görmeliyiz:

  `Stopping XAMPP 1.8.2...
  LAMPP: Stopping Apache...
  LAMPP: Stopping MySQL...
  LAMPP stopped.
  `

  Eğer herhangi bir hata mesajı alırsanız Yazın sayfaları adresini yardım için ziyaret edin.

  Ayrıca sunucuları kolayca başlatıp/durdurabileceğiniz görsel bir araç da vardır. Bu aracı şu komutla başlatabilirsiniz:

  `cd /opt/lampp
  sudo ./manager-linux.run (or manager-linux-x64.run)`

Herşeyin çalıştığını nasıl test edebilirim?

  Favori web tarayıcınıza aşağıdaki URL'yi yazın:

  `http://localhost`

  You should see the XAMPP start page, as shown below.

XAMPP hazır mı?

  XAMPP, normal kullanım için değildir, sadece yazılım geliştirme için kullanılır. Bu nedenle bir yazılımcının mümkün olduğunca ihtiyacı olan ayarlar yapılmıştır. Yazıloım geliştirmek için ideal bir ortam olmasına rağmen yazılım yayınlaması için kullanıldığında istenmeyen sorunlara neden olabilir.

  XAMPP içindeki güvenlik eksikliklerinin listesi:

  1. MySQL yöneticisi (root) şifresi yok.
  2. MySQL ortamı, ağ üzerinden ulaşılabilir.
  3. ProFTPD uses the password "lampp" for user "daemon".

  Birçok güvenlik açığını kolayca düzeltmek için şu komutu çağırın:

  `sudo /opt/lampp/lampp security`

  Küçük bir güvenlik kontrolu yapar ve XAMPP yüklemenizi güvenli kılar. Örneğin, XAMPP demo sayfalarınızı bir kullanıcı adı ('lampp') ve şifre kombinasyonu ile korur.

XAMPP'ı başlatırken gördüğüm hata mesajları ne anlama geliyor?

  XAMPP'ı başlatırken çeşitli hata mesajları alabilirsiniz:

  `LAMPP-Apache is already running.
  An Apache daemon is already running.`

  LAMPP başlangıç scripti XAMPP-Apache'yi başlatamadı çünkü Apache zaten çalışıyor. XAMPP'ı düzgün çalıştırabilmek için önce mevcut Apache'yi durdurmalısınız.

  `LAMPP-MySQL is already running.
  A MySQL daemon is already running.`

  Çoğunlukla nedeniyle yukarıdaki hata aynı nedenlerle, lampp başlangıç ​​komut dosyası MySQL daemon zaten sisteminizde çalışan bulundu. Düzgün lampp başlatmak için, ilk önce bu cini durdurmak zorunda.

Apache doesn't seem to start. What can I do?

  Bu hata birkaç nedenden dolayı gerçekleşmiş olabilir. Apache bu hatayı çeşitli durumlarda gösterir. Kesin nedeni bulabilmek için biraz araştırma yapmalıyız:

  `tail -2 /opt/lampp/logs/error_log`

  Eğer herhangi bir hata mesajı alırsanız Yazın sayfaları adresini yardım için ziyaret edin.

"Cannot restore segment prot after reloc: Permission denied?" mesajlı hatayı aldığımda ne yapmalıyım?

  Bazı Linux yayınları içerisinde varsayılan olarak SELinux aktif olduğu için XAMPP'ın doğru bir şekilde başlamasını engelleyebilir. XAMPP'ı başlatmak için SELinux'u pasifleştirmelisiniz.

  `sudo /usr/sbin/setenforce 0`

  Şimdi, XAMPP normal bir şekilde çalışmalı.

Linux'u yeniden başlattığımda XAMPP duruyor. Bunu nasıl çözebilirim?

  Doğru. Bu normal bir Linux davranışıdır (Unix benzeri sistemlerde de normaldir). Belirli uygulamaların başlangıçta çalıştırıldığından emin olmak admin'in görevidir.

  Linux sistemlerin boot ayarlamasında standart bir yol bulunmamaktadır ama çoğu XAMPP'ı başlatmak için şu adımları izlemektedir.

  Debian, Ubuntu.

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo update-rc.d lampp start 80 2 3 4 5 . stop 30 0 1 6 .`

  RedHat, Fedora, CentOS. Eğer Linux dağıtımınız servis yüklemeleri için "chkconfig" aracını kullanıyorsa şu komutları çalıştırabilirsiniz:

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
  sudo chkconfig --add lampp`

  SUSE

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo chkconfig lampp 2345`

XAMPP yüklememi daha güvenli nasıl yapabilirim?

  Varsayılan yüklemede XAMPP'in ayarlanmış şifresi yoktur ve XAMPP'in bu şekilde başkaları tarafından erişilebilir halde başlatılması tavsiye edilmez.

  Basit bir güvenli kontrolü yapmak için şu komutu (root olarak) yazın:

  `sudo /opt/lampp/lampp security`

  Ekranda şu diyaloğu görmelisiniz:

  `XAMPP: Quick security check... XAMPP: MySQL is accessable via network. XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes XAMPP: Turned off. XAMPP: Stopping MySQL... XAMPP: Starting MySQL... XAMPP: The MySQL/phpMyAdmin user pma has no password set!!! XAMPP: Do you want to set a password? [yes] yes XAMPP: Password: ****** XAMPP: Password (again): ****** XAMPP: Setting new MySQL pma password. XAMPP: Setting phpMyAdmin's pma password to the new one. XAMPP: MySQL has no root passwort set!!! XAMPP: Do you want to set a password? [yes] yes XAMPP: Write the passworde somewhere down to make sure you won't forget it!!! XAMPP: Password: ****** XAMPP: Password (again): ****** XAMPP: Setting new MySQL root password. XAMPP: Setting phpMyAdmin's root password to the new one. XAMPP: The FTP password for user 'nobody' is still set to 'lampp'. XAMPP: Do you want to change the password? [yes] yes XAMPP: Password: ****** XAMPP: Password (again): ****** XAMPP: Reload ProFTPD... XAMPP: Done.`

  (1) Bir şifre belirlemek, bu şifreyi kullanan XAMPP demo sayfalarını (http://localhost/xampp/) koruyacaktır. Kullanıcı adı 'lampp' !

  Bu komutu çağırdıktan sonra XAMPP yüklemeniz daha güvenli olacaktır.

eAccelerator'ı nasıl aktive ederim?

  eAccelerator'ı aktive etmek için /opt/lampp/etc/php.ini dosyasında şu satırları bulun:

  `;extension="eaccelerator.so" ;eaccelerator.shm_size="16" ;eaccelerator.cache_dir="/opt/lampp/tmp/eaccelerator" ;eaccelerator.enable="1" ;eaccelerator.optimizer="1" ;eaccelerator.check_mtime="1" ;eaccelerator.debug="0" ;eaccelerator.filter="" ;eaccelerator.shm_max="0" ;eaccelerator.shm_ttl="0" ;eaccelerator.shm_prune_period="0" ;eaccelerator.shm_only="0" ;eaccelerator.compress="1" ;eaccelerator.compress_level="9"`

  Her satırın başındaki noktalı virgülü kaldırın ve XAMPP'ı yeniden başlatın. eAccelerator şimdi aktif olacaktır. eAccelerator ile ilgili daha fazla bilgi için, eAccelerator web sayfasına göz atın: http://eaccelerator.net.

PHP için OCI8/Oracle eklentisini nasıl aktifleştiririm?

  PHP için OCI8/Oracle extension eklentisini aktifleştirmek için lütfen şu komutu çalıştırın:

  `sudo /opt/lampp/lampp oci8`

  Takip eden diyalog başlayacaktır:

  `Please enter the path to your Oracle or Instant Client installation: [/opt/lampp/lib/instantclient-11.2.0.3.0] installing symlinks... patching php.ini... OCI8 add-on activation likely successful. LAMPP: Stopping Apache with SSL... LAMPP: Starting Apache with SSL...`

  Eklenti şimdi aktif olacaktır.

XAMPP çalışıyor, fakat neden hiç bir resim gözükmüyor?

  Bu bazı Linux sistemlere özel bir problemdir. Lütfen /opt/lampp/etc/httpd.conf dosyasını açın ve şu iki satırı bulun:

  `#EnableMMAP off #EnableSendfile off`

  İki satırdaki de # işaretini kaldırın ve Apache'nizi tekrar başlatın. Resimleriniz görünür olacaktır.

How do I enable access to phpMyAdmin from the outside?

  In the basic configuration of XAMPP, phpMyAdmin is accessible only from the same host that XAMPP is running on, at http://127.0.0.1 or http://localhost.

  IMPORTANT: Enabling external access for phpMyAdmin in production environments is a significant security risk. You are strongly advised to only allow access from localhost. A remote attacker could take advantage of any existing vulnerability for executing code or for modifying your data.

  To enable remote access to phpMyAdmin, follow these steps:

  - Edit the etc/extra/httpd-xampp.conf file in your XAMPP installation directory.
  - Within this file, find the lines below.

    `Alias /phpmyadmin "/opt/lampp/phpmyadmin/" <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Require local`

  - Then replace 'Require local' with 'Require all granted'.

  `Alias /phpmyadmin "/opt/lampp/phpmyadmin/" <Directory "/opt/lampp/phpMyAdmin"> AllowOverride AuthConfig Require all granted`

  - Restart the Apache server using the XAMPP control panel.
Where are the main XAMPP configuration files?

  The main XAMPP configuration files are located as follows:

  - Apache configuration file: /opt/lampp/etc/httpd.conf, /opt/lampp/etc/extra/httpd-xampp.conf
  - PHP configuration file: /opt/lampp/etc/php.ini
  - MySQL configuration file: /opt/lampp/etc/my.cnf
  - ProFTPD configuration file: /opt/lampp/etc/proftpd.conf
How do I send email with XAMPP?

  To send email with XAMPP, use the PEAR Mail and Net_SMTP packages, which allow you to send email using an external SMTP account (such as a Gmail account). Follow these steps:

  - Install the Mail and Net_SMTP PEAR modules: `pear install Net_SMTP Mail` Note that if these packages are already installed in your system you see the messages below when executing that command: `Ignoring installed package pear/Net_SMTP Ignoring installed package pear/Mail Nothing to install`
  - Create the following example script in your "htdocs" directory to send an email: `<?php require_once "Mail.php"; $from = "your-gmail-username@gmail.com"; $to = 'recipients@example.com'; $host = "ssl://smtp.gmail.com"; $port = "465"; $username = 'your-gmail-username@gmail.com'; $password = 'your-gmail-password'; $subject = "test"; $body = "test"; $headers = array ('From' => $from, 'To' => $to,'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo($mail->getMessage()); } else { echo("Message successfully sent!\n"); } ?>`

    Remember to replace the dummy values shown with your actual Gmail address and account password. If you don't plan to use Gmail's SMTP server, replace the SMTP host details with appropriate values for your organization or ISP's SMTP server.

  - Execute the script by browsing to it using your Web browser. You should see a notification that the message was successfully sent, and the message should be delivered to the recipient email address.
XAMPP sistemimi nasıl yedeklerim/geri yüklerim?

  Uyarı: Yedekleme ve geri yükleme özellikleri hala geliştirmededir ve doğru çalışmayabilir.

  Şunu çağırarak yedek oluşturabilirsiniz:

  `sudo /opt/lampp/lampp backup`

  ya da

  `sudo /opt/lampp/lampp backup secret`

  "secret" sizin MySQL root şifrenizdir. Bu komut şu çıktıyı verecektir:

  `Backing up databases... Backing up configuration, log and htdocs files... Calculating checksums... Building final backup file... Backup finished. Take care of /opt/lampp/backup/xampp-backup-22-01-14.sh`

  Yukarıda örnekte gösterilen /opt/lampp/backup/xampp-backup-22-01-14.sh dosyası sizin yedek verinizi içermektedir. Bu dosyayı güvenli bir yerde saklayın.

  Yeni makinada orjinal/kaynak makinanızdaki ile aynı XAMPP versiyonunuza ihtiyacınız vardır.

  `sudo sh xampp-backup-22-01-14.sh`

  Şunun gibi birşey görmelisiniz:

  `Checking integrity of files... Restoring configuration, log and htdocs files... Checking versions... Installed: XAMPP 1.4.2 Backup from: XAMPP 1.4.2 Restoring MySQL databases... Restoring MySQL user databases... Backup complete. Have fun! You may need to restart XAMPP to complete the restore.`

  Hepsi bu kadar. Unutmayın, bu bir beta özelliktir.