Raspberry pi ile localhost kurulumu için bir çok kaynak elbettte mevcut biz de diğer siteler gibi ayrıntıya elbette giriçez ve baştan başlayalım. Önçelikle raspberry pi ne işe yarar nedir içilirmi bunlardan bahsedelim. Raspberry pi için küçük bilgisayar diyebiliriz yaptığı işlemler bir çok gereksinim duysa da işlevi yüksek ama fiyatı cüzi miktarda olup satılmaktadır. Başlarda windows 10 da çalıştırılacağı dense de malesef windows 10 desteklememektedir. Raspberry pi raspbian başta olmak üzere bir çok işletim sistemi desteklemektedir içerisinde ubuntu ve centos da dahil olmak üzere. Bu yazımızda ise yine ubuntu işletim sistemini kullanıcaz. Raspberry pi yi robotistan dan temin edebilirsiniz tabiki türkiye içerisindeyseniz.

Not: Raspberry pi armhf desteklemektedir sd kart içerisine amd vb.. kurarak çalıştıramazsınız.

Şimdi elimizde bir sd kartın ve sd kart okuyuculu usb li 2.0 olmak üzere raspberry pi nin tamamı elimizde olduğunu var sayıyoruz ve hemen işleme başlıyoruz.

Önçelikle aşağıdaki linkten ubuntu indirelim. Dikkat etmemiz gereken raspi için 2 3 yada 4 için hangisi var ise siteden onu indirmek üzere ve bu zaman da şimdilik 18.04.4 sürümünü biz indiriyoruz. Hemen linkinide verelim ve diğer sürümlere de göz atabilirsiniz.

http://cdimage.ubuntu.com/releases/18.04.4/release/

SD Karta yazmak için bize bir program daha ihtiyacımız var yine önerebileceğimiz programın adı ise balenaEtcher programı bunu indirmek için yine aşağıdaki linki kullanabilirsiniz ve portable indirmenizi öneririm ve kurmak la uğraşmak istemiyorsanız.

https://www.balena.io/etcher/

Etcher ile img uzantısını yazdırırken ilk önçe yönetiçi hakları isteyebilir bunun için evet dedikten sonra devam edin. Ve yazdırma işlemini sonlandırın.

Ve yazma işlemi sona erdikten sonra raspberry pi sd kartı takın adaptörü elektiriğe bağlayın.

Şimdi bize bir ssh için kullanmamız gereken ufak program lazım bu işlem için bir çok program mevcut ama biz klasik kullanalım ve aşağıdaki linkten putty programını indirebilirsiniz.

https://www.putty.org/

Putty ile bağlanmadan önçe hangi ipe bağlanmamızı gereken bilgiyi almak için wireless network watcher tavsiye ederiz hem kurulumsuz dır hemde türkçe dil mevcut bunun için aşağıdaki bağlantıdan indirebilirsiniz.

https://www.nirsoft.net/utils/wireless_network_watcher.html

Şimdi ilk önçe en son eliniz de bulunan program ile raspberry pi nin ipini gözetleyin ve putty ile bağlanın kullanıcı adı ubuntu şifre ubuntu ve sizden tekrar dan şifre isteyecektir bunun için alana terkrar ubuntu yazın ve bu sefer sizden kendi şifrenizi eklemenizi soracak yani ubuntu olarak girdiğiniz şifre sizin özel şifrenizi belirlemiş olacaksınız ve bu kendi şifre girme işlemi iki kez tekrarlayacaksınız. Putty çıkış yapacaktır ve tekrar giriş yaptığınızda kullanıcı adı ubuntu şifresi yani kendi şifrenizi gireceksiniz.

Artık bağlandık hemen bir günçelleme yapalım ve işlemlerimize başlayalım.

sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove

Günçelleme işlemi bittikten sonra sırada ağ ip adresinizi sabit yapmak gerekir bunun la ilgili kaynak çok bu yüzden ip sabitleme işlemini anlatmıcam ama farklı konuda bunun la ilgili paylaşım yapabilirim.

Apache kurulumunu gerçekleştirelim.

sudo apt-get install apache2

Şimdi ‘de mariadb kurululumu gerçekleştirelim ve şifre adayalım.

sudo apt-get install mariadb-server mariadb-client

kurulumu gerçekleştirdikten sonra şifre adayalım bunun için aşağıdaki adımlar yapılır. Konsola aşağıdaki yazılır ve

sudo mysql_secure_installation

adımlar tamamlanır.

Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
CREATE YOUR PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Şimdi ise php kurulumunu gerçekleştirelim bunun için aşağıdaki adımlar devam edilir.

sudo apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-pear php-imagick php-imap php-recode php-tidy php-xmlrpc php-mbstring

Hata verdiği için aşağıdaki modül çıkarılmıştır.

sudo apt-get install php-mcrypt

Tekrardan aşağıdaki php modüllerde kurulur yada tavsiye edilir.

sudo apt install php-zip php-bz2 php-xml php-soap php-mbstring php-bcmath php-sqlite3 php-sybase php-json php-xsl php-xmlrpc php-tidy php-snmp php-recode php-pspell php-pgsql php-odbc php-readline php-ldap php-intl php-interbase php-imap php-gmp  php-gd php-enchant php-curl

Aşağıdaki iki uygulama da apache2 için tamamlanılır. Restart çekmeniz gerekmiyor en sonra hepsine restart çekicez zaten.

sudo a2enmod headers
sudo a2enmod rewrite

Apache2 için aşağıdai gibi conf dosyasına uygulanılır. Biz tamamını veriyoruz siz kendinize göre tanımlayın.

nano /etc/apache2/sites-enabled/000-default.conf

İçerisine aşağıdaki gibi uygulayın.

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin [email protected]
        DocumentRoot /var/www/html

        Options -Indexes


        #kaldırıldı ve tarayıcıda klasörler ve dosyalar listelenmiştir
        <Directory /var/www/html/public_html/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        </Directory>

        #eklenmiştir ve tarayıcıda klsörler yada dosyalar gizlenmiştir
        #<Directory /var/www/html/public_html/>
        #Options FollowSymLinks
        #AllowOverride All
        #Require all granted
        #</Directory>

        #aktif olması için modül yüklenmelidir
        <ifmodule mpm_itk_module>
        AssignUserID ftpubuntu www-data
        </ifmodule>

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

yukarıdaki kodların içerisinde modülün yüklenmesi gerekmektedir denilmiştir bunun için yapılması gereken aşağıdaki gibi kurulumu gerçekleştirilmelidir.

sudo apt-get install libapache2-mpm-itk

ftpubuntu diye bir kullanıcı belirledik siz kendinize göre değiştirebilirsiniz. Bunun için kullanıcı açmadan önçe vsftpd kurulumunu gerçekleştirelim.

sudo apt-get install vsftpd

şimdi ise ayar dosyasını düzenleyelim.

nano /etc/vsftpd.conf
listen=NO
aşağıdaki gibi değiştirildi
listen=Yes
listen_ipv6=YES
aşağıdaki gibi değiştirildi
listen_ipv6=NO
#write_enable=YES
aşağıdaki gibi değiştirildi
write_enable=YES
#local_umask=022
aşağıdaki gibi değiştirildi
local_umask=022
#chown_uploads=YES
#chown_username=whoever
aşağıdaki gibi değiştirildi
chown_uploads=YES
chown_username=ftpubuntu

fazla kullanıcı için eklenebilir
chown_username=ftpubuntu2
#ascii_upload_enable=YES
#ascii_download_enable=YES
aşağıdaki gibi değiştirildi
ascii_upload_enable=YES
ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
aşağıdaki gibi değiştirildi
ftpd_banner=Welcome to blah FTP service.
pam_service_name=vsftpd
aşağıdaki gibi değiştirildi
pam_service_name=ftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
aşağıdaki gibi değiştirildi
#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#ssl_enable=NO
#utf8_filesystem=YES
aşağıdaki gibi değiştirildi
utf8_filesystem=YES

Şimdi değiştirmek gereken yerleri düzenledik ama daha bitmedi bunun için ssl oluşturmamız gerekiyor hemde ekleme yapmak gerekiyor aşağıdakilerin hepsini /etc/vsftpd.conf dosyasının en altına yapıştırın ve yapmanız gereken düzenlemeleri atta devam edelim.

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES

require_ssl_reuse=NO
ssl_ciphers=HIGH

log_ftp_protocol=YES


dual_log_enable=YES

chroot_local_user=YES
allow_writeable_chroot=YES

pasv_addr_resolve=YES
pasv_promiscuous=YES

pasv_enable=Yes
pasv_min_port=43000
pasv_max_port=43050
pasv_address=192.168.1.10
pasv_addr_resolve=YES

listen_port=2121

anon_other_write_enable=YES

log_ftp_protocol=YES

force_dot_files=YES

seccomp_sandbox=NO

“pasv_address=192.168.1.10” yere ağınızın ip adresini yazmanız gerekiyor bu sizin ipiniz değil örneğin ipi bulmak için konsoldan ifconfig yazmanız yeterli

“listen_port=2121” kısmında ise filezilla ile bağlanırken kullanacağınız port dur. biz 2121 portunu tanımladık ama normal portu 21 dir böylece değiştirmiş olduk.

Ve ssl kurulumu içinde aşağıdaki gibi kurulumu gerçekleştirebilirsiniz. 365 gün olarak adanmıştır değiştirilebilir. Eğer hata alırsanız büyük ihtimalle klasörler yoktur klasörler oluşturulup tekrar deneyiniz.

Örneğin; mkdir /etc/ssl/private

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

vsftpd ile işimiz burada bitiyor şimdi artık kullanıcı oluşturabiliriz bu arada apache de ve vsftpd yazdığınız bütün isimler birbirleriyle bağlantılı olmalıdır eğer bir isim daha verip kullanıcı açmazsanız hata alırsınız.

Kullanıcı oluşturmak için aşağıdaki gibi oluşturulabilir burada dikkat edilmesi gereken şey ise apache conf dosyasında hangi yol eklenmişse ftp kullanıcı acarken de aynı ismi verilmelidir yoksa apache ile hiç bir alakanız kalmaz.

sudo adduser ftpubuntu -shell /bin/false -home /var/www

Artık sırayla restart cekelim.

sudo service apache2 restart
sudo service php-7* restart
sudo service mariadb-* restart

filezilla ile bağlanma sorunu yok ve dizine klasör yada dosya oluşturamıyorsanız aşağıdaki gibi dizine kullanıcı adayın.

chown ftpubuntu:www-data -R /var/www
chown ftpubuntu:www-data -R /var/www/html

phpmyadmin den bağlantı sorunu yaşayanlar yada mysql ye bağlanamıyor diye sorun veya giriş yapamayanlar aşağıdaki adımları gerçekleştirme sonrasında giriş yapabilirler.

sudo service mysql restart
sudo mysql # logs in automatically into MariaDB
use mysql;
update user set plugin='' where user='your_user_name';
flush privileges;
exit;
sudo service mysql restart # restarts the mysql service

Buradaki işlemler raspberry pi için ubuntu 16.04.4 üzerinde ve vmware için ubuntu 16.04.4 üzeründen test edilip denenmiştir.

Bitti.

Bu Sayfa İçin Etiketler ?

Bu Yazı Hakkında Görüşlerinizi Yazabilirsiniz.