{"id":257,"title":"LAMP (Linux, Apache, MySQL, PHP) sunucu y\u0131\u011f\u0131n\u0131n\u0131n MySQL bile\u015fenini Ubuntu Kurulumu","content":"<p>LAMP (Linux, Apache, MySQL, PHP) sunucu y\u0131\u011f\u0131n\u0131n\u0131n MySQL bile\u015fenini Ubuntu\u2019ya kurulum<\/p><p>1. \u00d6ncelikle sistemi g\u00fcncelleyelim:<br>```bash<br>sudo apt update<br>sudo apt upgrade<br>```<\/p><p>2. MySQL Server\u2019\u0131 y\u00fckleyelim:<br>```bash<br>sudo apt install mysql-server<br>```<\/p><p>3. MySQL\u2019in \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edelim:<br>```bash<br>sudo systemctl status mysql<br>```<\/p><p>4. MySQL g\u00fcvenlik ayarlar\u0131n\u0131 yap\u0131land\u0131ral\u0131m:<br>```bash<br>sudo mysql_secure_installation<br>```<br>Bu komut size \u015funlar\u0131 soracak:<br>- Root \u015fifresi i\u00e7in VALIDATE PASSWORD bile\u015fenini kullanmak isteyip istemedi\u011finiz<br>- Root i\u00e7in yeni \u015fifre<br>- Anonim kullan\u0131c\u0131lar\u0131 kald\u0131rmak isteyip istemedi\u011finiz<br>- Root\u2019un uzaktan giri\u015fine izin verilip verilmeyece\u011fi<br>- Test veritaban\u0131n\u0131n kald\u0131r\u0131l\u0131p kald\u0131r\u0131lmayaca\u011f\u0131<br>- Yetki tablolar\u0131n\u0131n yeniden y\u00fcklenip y\u00fcklenmeyece\u011fi<\/p><p>5. MySQL\u2019e root olarak giri\u015f yapal\u0131m:<br>```bash<br>sudo mysql<br>```<\/p><p>6. Yeni bir veritaban\u0131 kullan\u0131c\u0131s\u0131 olu\u015ftural\u0131m:<br>```sql<br>CREATE USER \u2018kullaniciadi\u2019@\u2019localhost\u2019 IDENTIFIED BY \u2018sifreniz\u2019;<br>```<\/p><p>7. Kullan\u0131c\u0131ya yetki verelim:<br>```sql<br>GRANT ALL PRIVILEGES ON *.* TO \u2018kullaniciadi\u2019@\u2019localhost\u2019;<br>FLUSH PRIVILEGES;<br>```<\/p><p>8. MySQL\u2019den \u00e7\u0131k\u0131\u015f yapal\u0131m:<br>```sql<br>EXIT;<br>```<\/p><p>9. Yeni kullan\u0131c\u0131 ile giri\u015f yaparak test edelim:<br>```bash<br>mysql -u kullaniciadi -p<br>```<\/p><p>Baz\u0131 faydal\u0131 MySQL komutlar\u0131:<br>```sql<br>\u2014 Veritabanlar\u0131n\u0131 listele<br>SHOW DATABASES;<\/p><p>\u2014 Yeni veritaban\u0131 olu\u015ftur<br>CREATE DATABASE veritabani_adi;<\/p><p>\u2014 Veritaban\u0131n\u0131 se\u00e7<br>USE veritabani_adi;<\/p><p>\u2014 Tablolar\u0131 listele<br>SHOW TABLES;<br>```<\/p><p>G\u00fcvenlik \u0130pu\u00e7lar\u0131:<br>1. G\u00fc\u00e7l\u00fc \u015fifreler kullan\u0131n<br>2. Sadece gerekli yetkileri verin<br>3. Root eri\u015fimini s\u0131n\u0131rlay\u0131n<br>4. D\u00fczenli yedek al\u0131n<\/p><p>MySQL servis y\u00f6netimi komutlar\u0131:<br>```bash<br># MySQL\u2019i durdurmak i\u00e7in<br>sudo systemctl stop mysql<\/p><p># MySQL\u2019i ba\u015flatmak i\u00e7in<br>sudo systemctl start mysql<\/p><p># MySQL\u2019i yeniden ba\u015flatmak i\u00e7in<br>sudo systemctl restart mysql<\/p><p># MySQL\u2019in otomatik ba\u015flamas\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in<br>sudo systemctl disable mysql<\/p><p># MySQL\u2019in otomatik ba\u015flamas\u0131n\u0131 etkinle\u015ftirmek i\u00e7in<br>sudo systemctl enable mysql<br>```<\/p><p>MySQL\u2019in yap\u0131land\u0131rma dosyas\u0131 konumu: `\/etc\/mysql\/mysql.conf.d\/mysqld.cnf`<\/p><p>Yap\u0131land\u0131rma dosyas\u0131nda de\u011fi\u015fiklik yapt\u0131ktan sonra MySQL\u2019i yeniden ba\u015flatmay\u0131 unutmay\u0131n:<br>```bash<br>sudo systemctl restart mysql<br>```<\/p><p>LAMP\u2019in di\u011fer bile\u015fenlerini (Apache ve PHP) kural\u0131m:<\/p><p>1. Apache web sunucusunu kural\u0131m:<br>```bash<br>sudo apt install apache2<br>```<\/p><p>2. Apache\u2019nin durumunu kontrol edelim:<br>```bash<br>sudo systemctl status apache2<br>```<\/p><p>3. Apache\u2019yi firewall\u2019a ekleyelim:<br>```bash<br>sudo ufw allow in \u201cApache Full\u201d<br>```<\/p><p>4. PHP ve gerekli mod\u00fclleri kural\u0131m:<br>```bash<br>sudo apt install php libapache2-mod-php php-mysql php-common php-cli php-json php-common php-mbstring php-zip php-gd php-xml php-curl<br>```<\/p><p>5. PHP s\u00fcr\u00fcm\u00fcn\u00fc kontrol edelim:<br>```bash<br>php -v<br>```<\/p><p>6. Apache\u2019yi yeniden ba\u015flatal\u0131m:<br>```bash<br>sudo systemctl restart apache2<br>```<\/p><p>7. Test sayfas\u0131 olu\u015ftural\u0131m:<br>```bash<br>sudo nano \/var\/www\/html\/info.php<br>```<\/p><p>\u0130\u00e7ine \u015fu kodu ekleyelim:<br>```php<br>&lt;?php<br>phpinfo();<br>?&gt;<br>```<\/p><p>8. Kurulumu test etmek i\u00e7in taray\u0131c\u0131n\u0131zda \u015fu adresi a\u00e7\u0131n:<br>```<br><a href=\"http:\/\/localhost\/info.php\">http:\/\/localhost\/info.php<\/a><br>```<br>veya<br>```<br><a href=\"http:\/\/sunucu_ip_adresi\/info.php\">http:\/\/sunucu_ip_adresi\/info.php<\/a><br>```<\/p><p>Dizin \u0130zinlerini Ayarlama:<br>```bash<br># Web dizininin sahipli\u011fini www-data kullan\u0131c\u0131s\u0131na ver<br>sudo chown -R www-data:www-data \/var\/www\/html\/<\/p><p># Dizin izinlerini ayarla<br>sudo chmod -R 755 \/var\/www\/html\/<br>```<\/p><p>Apache Temel Komutlar\u0131:<br>```bash<br># Apache\u2019yi durdurmak i\u00e7in<br>sudo systemctl stop apache2<\/p><p># Apache\u2019yi ba\u015flatmak i\u00e7in<br>sudo systemctl start apache2<\/p><p># Apache\u2019yi yeniden ba\u015flatmak i\u00e7in<br>sudo systemctl restart apache2<\/p><p># Apache durumunu kontrol etmek i\u00e7in<br>sudo systemctl status apache2<br>```<\/p><p>Virtual Host Olu\u015fturma:<br>1. Dizin olu\u015fturun:<br>```bash<br>sudo mkdir \/var\/www\/siteniz.com<br>```<\/p><p>2. Virtual host dosyas\u0131 olu\u015fturun:<br>```bash<br>sudo nano \/etc\/apache2\/sites-available\/siteniz.com.conf<br>```<\/p><p>3. \u015eu i\u00e7eri\u011fi ekleyin:<br>```apache<br>&lt;VirtualHost *:80&gt;<br>ServerAdmin <a href=\"mailto:webmaster@siteniz.com\">webmaster@siteniz.com<\/a><br>ServerName siteniz.com<br>ServerAlias <a href=\"http:\/\/www.siteniz.com\">www.siteniz.com<\/a><br>DocumentRoot \/var\/www\/siteniz.com<br>ErrorLog ${APACHE_LOG_DIR}\/error.log<br>CustomLog ${APACHE_LOG_DIR}\/access.log combined<br>&lt;\/VirtualHost&gt;<br>```<\/p><p>4. Virtual host\u2019u etkinle\u015ftirin:<br>```bash<br>sudo a2ensite siteniz.com.conf<br>sudo systemctl reload apache2<br>```<\/p><p>\u00d6nemli Dosya Konumlar\u0131:<br>- Apache ana yap\u0131land\u0131rma: `\/etc\/apache2\/apache2.conf`<br>- PHP yap\u0131land\u0131rma: `\/etc\/php\/\/apache2\/php.ini`<br>- Apache log dosyalar\u0131: `\/var\/log\/apache2\/`<br>- Varsay\u0131lan web dizini: `\/var\/www\/html\/`<\/p><p>G\u00fcvenlik \u0130pu\u00e7lar\u0131:<br>1. D\u00fczenli g\u00fcncellemeleri yap\u0131n<br>2. Gereksiz PHP mod\u00fcllerini kald\u0131r\u0131n<br>3. PHP hata mesajlar\u0131n\u0131 production ortam\u0131nda kapat\u0131n<br>4. SSL sertifikas\u0131 kurun (Let\u2019s Encrypt kullanabilirsiniz)<br>5. ModSecurity gibi Web Application Firewall kullan\u0131n<\/p><p>SSL Sertifikas\u0131 Kurulumu (Let\u2019s Encrypt):<br>```bash<br>sudo apt install certbot python3-certbot-apache<br>sudo certbot \u2014 apache<br>```<\/p>","excerpt":"LAMP (Linux, Apache, MySQL, PHP) sunucu y\u0131\u011f\u0131n\u0131n\u0131n MySQL bile\u015fenini Ubuntu\u2019ya kurulum\r\n1. \u00d6ncelikle sistemi g\u00fcncelleyelim:```bashsudo apt updatesudo apt upgrade```\r\n2. MySQL Server\u2019\u0131 y\u00fckleyelim:```bashsudo apt install mysql-server```\r\n3. MySQL\u2019in \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edelim:```bashsudo systemctl status...","created_at":"2024-12-29 11:36:48","updated_at":"2026-09-08 03:44:16","category_id":10,"view_count":676,"reading_time":4,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2024-12-29 11:36:48","featured_image":"resimyok.jpg","slug":"lamp-linux-apache-mysql-php-sunucu-yigininin-mysql-bilesenini-ubuntu-kurulumu","category_name":"nix Linux Unix","category_slug":"nix-linux-unix","category_color":"#2a1952"}