Site Overlay

Ubuntu 22.04 LAMP Kurulumu

Ubuntu 22.04 LAMP Kurulumu

LAMP kurulumları (Linux + Apache + MySQL + PHP / Perl / Python) Ubuntu sunucuları için popüler bir kurulumdur. LAMP uygulama yığını kullanılarak yazılmış çok sayıda Açık Kaynak uygulaması vardır. Bazı popüler LAMP uygulamaları arasında wiki’ler, phpMyAdmin gibi yönetim yazılımları ve WordPress gibi İçerik Yönetim Sistemleri (CMS’ler) bulunur.


Apache Kurulumu
Komutlar:
1. sudo apt install apache2
2. sudo a2enmod ssl
3. sudo a2enmod rewrite
4. RewriteEngine On
5. sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mynewsite.conf
6. sudo a2ensite mynewsite
7. sudo systemctl restart apache2.service
8. sudo apt install libapache2-mod-wsgi-py3
----------------OPSİYONEL------------------
9.  sudo a2dismod wsgi
10. sudo systemctl restart apache2.service
11. sudo a2enmod wsgi
12. sudo systemctl restart apache2.service
----------------OPSİYONEL------------------
13. sudo a2enmod ssl
14. sudo a2ensite default-ssl
15. sudo systemctl restart apache2.service
-----------GRUBA YAZMA İZNİ VERME----------
16. sudo chgrp -R webmasters /var/www/html
17. sudo chmod -R g=rwX /var/www/html/

PHP Kurulumu
Komutlar:
1. sudo apt install php libapache2-mod-php
------İsteğe bağlı paketleri yükleme------
2. sudo apt install php-cli
3. sudo apt install php-cgi
4. sudo apt install php-mysql
5. sudo apt install php-pgsql
------İsteğe bağlı paketleri yükleme------
6. sudo systemctl restart apache2.service 

MYSQL Kurulumu
Komutlar:
1. sudo apt install mysql-server
2. sudo service mysql status
3. sudo ss -tap | grep mysql
4. sudo service mysql restart
5. sudo journalctl -u mysql
6. sudo systemctl restart mysql.service
-------OPSİYONEL PERFORMAS ARAÇI-------
7. sudo apt install mysqltuner

phpmyadmin Kurulumu
Komutlar:
1. sudo apt install phpmyadmin
* SQL dosyanızın uploand etme limiti değiştirme
2. nano /etc/php/7.3/apache2/php.ini
upload_max_filesize = 1500M
3.sudo service apache2 restart

YENİ SÜRÜM PHPMYADMIN ÜZERİNDE KULLANICI OLUŞTURMA

1. sudo mysql veya mysql -u root -p komutuyla SQL moduna girin.

* KULLANICI OLUŞTURMA
2. CREATE USER 'arifakyuz'@'localhost' IDENTIFIED BY '2kil0@ver';
* Tüm Yetkileri Verme Komutu:
3. GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;
* KISITLI YETKİ VERME KOMUTU
4. GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'arifakyuz'@'localhost' WITH GRANT OPTION;
-------------------------------
ESKİ SÜRÜM KULLANICI OLUŞTURMA VE YETKİ VERME
sudo mysql
CREATE USER 'superarif'@'localhost' IDENTIFIED BY '2kil0@ver';
GRANT ALL PRIVILEGES ON . TO 'superarif'@'localhost';
GRANT CREATE ON . TO 'superarif'@'localhost';
GRANT DROP ON . TO 'superarif'@'localhost';
GRANT DELETE ON . TO 'superarif'@'localhost';
GRANT INSERT ON . TO 'superarif'@'localhost';
GRANT SELECT ON . TO 'superarif'@'localhost';
GRANT UPDATE ON . TO 'superarif'@'localhost';
GRANT GRANT OPTION ON . TO 'superarif'@'localhost';
FLUSH PRIVILEGES;
quit;

OLUŞTURULAN KULLANICIYI SİLME KOMUTLARI
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'superarif'@'localhost';
DROP USER 'superarif'@'localhost';

----------OPSİYONEL-----------
2. sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
3. sudo a2enconf phpmyadmin.conf
4. sudo systemctl reload apache2.service
----------OPSİYONEL-----------

vsftpd - FTP Sunucusu Kurulumu
Komutlar:
1. sudo apt install vsftpd
----FTP ADINDA KULLANICI VE DİZİN OLUŞTURMA----
2. sudo mkdir -p /srv/files/ftp         klasör oluşturma
3. sudo usermod -d /srv/files/ftp ftp   klasöre yetki verme ve kullanıcı oluşturma
4. sudo passwd ftp                      parola verme
5. sudo systemctl restart vsftpd.service
----FTP ADINDA KULLANICI VE DİZİN OLUŞTURMA----

---VARSAYILAN DOSYA İNDİRME YÜKLEME İZNİ VERMEK---
5. nano /etc/vsftpd.conf
write_enable=YES
6. sudo systemctl restart vsftpd.service
---VARSAYILAN DOSYA İNDİRME YÜKLEME İZNİ VERMEK---

---ANONIM KULLANICILARIN DOSYA YÜKLEMESİNE İZİN VERME---
7. nano /etc/vsftpd.conf
anon_upload_enable=YES

---OPSİYONEL ANONIM İNDİRMEYİ ETKİNLEŞTİRMEK---
8. nano /etc/vsftpd.conf
anonymous_enable=YES
---OPSİYONEL ANONIM İNDİRMEYİ ETKİNLEŞTİRMEK---

----------FTP GÜVENLİĞİ SIKILAŞTIRMA-----------
Kullanıcıları ana dizinleriyle sınırlandırma
9. nano /etc/vsftpd.conf
chroot_local_user=YES

Ayrıca, belirli bir kullanıcı listesini yalnızca ana dizinleriyle sınırlayabilirsiniz:
10. nano /etc/vsftpd.conf
hroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

Yukarıdaki seçeneklerin açıklamasını kaldırdıktan sonra, her satırda bir tane olmak üzere bir kullanıcı listesi oluşturun. Ardından vsftpd'yi yeniden başlatın:/etc/vsftpd.chroot_list

11. sudo systemctl restart vsftpd.service

----------FTP GÜVENLİĞİ SIKILAŞTIRMA-----------

DOSYA YETKİLERİ
sudo chmod 777 /var/www/ -R
İŞLEME ALMA
sudo a2ensite 001-arifakyuz.com.conf
sudo service apache2 restart
apachectl configtest
systemctl status apache2.service
Apache2 sites-available yapılandırma dosyasının içeriği

<VirtualHost *:80>

    ServerAdmin [email protected]
    ServerName www.arifakyuz.com
    ServerAlias arifakyuz.com
    DocumentRoot /var/www/arifakyuz
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =arifakyuz.com [OR]
    RewriteCond %{SERVER_NAME} =www.arifakyuz.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>

<VirtualHost *:443>

    ServerAdmin [email protected]
    ServerName www.arifakyuz.com
    ServerAlias arifakyuz.com
    DocumentRoot /var/www/arifakyuz
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine on
    SSLCertificateFile /etc/cloudflare/arifakyuz.com.pem
    SSLCertificateKeyFile /etc/cloudflare/arifakyuz.com.key

</VirtualHost>

FTP KURULUMU OLMADAN WORDPRESS de EKLENTİ KURMA İZİN VERME
1. FTP Kurulumu olmadan eklenti kurabilmek için wp-config.php dosyasının son satırına aşağıdaki komutu ekleyin.

define('FS_METHOD', 'direct');

FUL YETKİ VERME
ayrıca .htaccess dosyasına www-data kullanıcısı için ful yetki verildiğine emin olun ve RewriteEngine On kodunun .htaccess  içinde yer aldığına emin olun 8 adım daki örnek içeriği kullanabilirsiniz.
.htaccess Dosyası aşağıdaki şekilde olmalı

php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_execution_time 300
php_value max_input_time 300

# BEGIN WordPress

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

ÖZEL URL İZİN VERME (404 Hatasını kaldırma)

1. Bir terminal açın ve şunu yazın:
sudo gedit /etc/apache2/apache2.conf

2. Şunu bul:
<Directory /var/www/>
AllowOverride None yazan yeri AllowOverride All olarak değiştirin.

3. sudo a2enmod rewrite
4. sudo service apache2 restart
WORDPRESS İÇİN AŞAĞIDAKİ KLASÖRLERE İZİN VERİLMİŞ OLMASI GEREKMEKTEDİR.

Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı

Arif Akyüz
Bilgi Teknolojileri
Sistem Network Yöneticisi
ve Siber Güvenlik Uzmanı
[email protected]

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors