- Katılım
- 4 yıl 1 ay 26 gün
- Mesajlar
- 25,596
- Tepkime puanı
- 8,841
- Yaş
- 35
- Konum
- Memed' Home
- Web sitesi
- forummeskeni.com
- İsim
- CHRS
- Memleket
- Neresi?
- Meslek
- IzdırapÇI
- Cinsiyet
- Medeni Hal
Bu makalede phpBB forum yazılımının 3.2 sürümünün Ubuntu'nun 16.04.1 sürümü üzerine kurulumu, gerekli NGINX ayar dosyasının oluşturulması ve veri tabanının hazırlanması anlatılmaktadır.
Gerekli Servis ve Paketlerin Kurulumu
phpBB forum yazılımını kurmadan önce bir web sunucusunun, PHP-FPM süreç yöneticisinin ve bir veri tabanı yöneticisinin kurulmuş olması gerekmektedir. İlgili servislerin kurulumu için SUDO Portal’da yayımlanan Ubuntu 16.04.1 Üzerine NGINX, PHP-FPM ve MariaDB Kurulumu makalesini okuyabilirsiniz.
Yukarıda bahsedilen servislerin kurulumu ardından PHP’nin grafik çizimi modülünün ve XML eklentisinin sağlandığı paketleri aşağıdaki komutla kurun.
Böylece phpBB forum yöneticisi için gerekli servis ve paketlerin kurulumu tamamlanacaktır.
Veri Tabanı ve Kullanıcısının Oluşturulup Gerekli İzinlerin Verilmesi
İletilerin, üyelerin ve bunlarla ilgili tüm bilgilerin tutulması için bir veri tabanına ihtiyaç var. Forumun kullanacağı veri tabanını oluşturmak için aşağıdaki komutu kullanabilirsiniz. Bu anlatımda forum veri tabanı için forum adı kullanılmıştır. Eğer forumunuz için var olan bir veri tabanını yeni kurulumda kullanmak istiyorsanız forum değerini var olan veri tabanı adıyla değiştirin. Böyle bir ihtiyacınız bulunmuyorsa forum değerini uygun gördüğünüz bir değerle değiştirin.
Sonraki adımda bu veri tabanı için bir kullanıcı oluşturup, kullanıcıya şifresini atayın. Aşağıdaki komutta veri tabanının root kullanıcısı olarak forumcu adlı yeni bir veri tabanı kullanıcısı oluşturulmuş ve bu kullanıcının şifresi için çokgizlişifre değerleri kullanılmıştır. Veri tabanı adında olduğu gibi, var olan bir veri tabanını kullanmak istiyorsanız veri tabanı kullanıcısı ve bu kullanıcıya ait şfreyi var olan veri tabanına ait değerlerle değiştirmeniz gerekmektedir. Var olan bir veri tabanını kullanmayacaksanız ilgili değerler için uygun değerler girmeyi unutmayın.
Kullanıcı oluşturma işleminden sonra bu kullanıcıya gerekli yetkilerin verilmesi gerekmektedir. MariaDB, global, veritabanı, sütun gibi farklı yetki düzeyleri barındırmaktadır. Burada yapılmak istenen forumcu kullanıcısının forum veritabanı üzerinde işlem yapabilmesidir. Bu yüzden veri tabanı düzeyinde yetkilerin bu kullanıcıya atanması gerekmektedir. MariaDB’nin veri tabanı düzeyinde kullandığı yetkiler için bu bağlantıya bakabilirsiniz.
Kullanıcıya veri tabanı düzeyindeki yetkileri aşağıdaki komutla atayabilirsiniz.
Son olarak yetki tablolarını güncelleyin.
phpBB’nin Elde Edilmesi
phpBB’nin 3.2 sürümü henüz Ubuntu depolarına girmediği için forum yazılımı, sitesinden sunulan sıkıştırılmış dosya aracılığıyla kurulacak. Sıkıştırılmış dosyayı aşağıdaki komutla yazılımın kurulacağı makineye indirebilirsiniz.
İndirdiğiniz sıkıştırılmış dosyanın herhangi bir şekilde indirme sırasında değiştirilmediğini teyit etmek için SHA256 ileti özetini hesaplamanızı öneririm. Bu işlemi sha256sum komutuyla yapabilirsiniz
Yukarıdaki komutun yürütümü sonrasında alacağınız SHA256 değerini phpBB’nin indirme bağlantısındaki indirdiğiniz paketle ilgili değerle karşılaştırın. Değer yanlış ise indirdiğiniz paketi silip tekrar indirin; doğru ise indirdiğiniz paketi açma işlemiyle devam edebilirsiniz.
Çıkartma işleminden sonra komutu uyguladığınız dizinde phpBB3 dizini oluşacaktır.
NGINX Ayarları
phpBB kurulumuna başlamadan önce NGINX’in siteyi sunacak şekilde yapılandırılması gerekmektedir. Bunu sağlamak adına siteniz için bir ayar dosyasının oluşturulup, gerekli NGINX direktiflerinin girilmesi gerekmektedir. Ayar dosyasını doldurmadan önce 4 direktif için gerekli parametrenin ne olması gerektiğine karar vermelisiniz.
Bu makalede root direktifi için /var/www/phpbb dizini; server_name direktifi için www.example.com ; error_log ve access_log direktifleri için var/www/log dizini altında oluşturulacak ilgili dosyalar kullanılacaktır.
root Direktifi
root direktifi için gerekli dizini oluşturun.
İndirdikten sonra açtığımız phpBB dizininin içeriğini sitenizin sunulacağı dizin içine kopyalayın.
Sitenin sunulacağı dizin ve bu dizin altındaki dizin ve dosyaların sahiplik ve grubunu www-data kullanıcısına geçirin. www-data, web sunucular için güvenlik amacıyla özellikle oluşturulmuş hakları kısıtlanmış bir kullanıcıdır. Bu yüzden siteye ait dosyalar bu sunucu ve gruba ait olmalıdır.
Bu işlemden sonra forum yazılımının kurulabilmesi ve kurulum ardından forum yazılımının eksiksiz çalışabilmesi için kimi dizin ve dosyalar için gerekli izinleri ayarlayın.
error_log ve access_log direktifleri
İlgili direktiflerin parametreleri için gerekli dizini oluşturup, izinlerini atayın.
mkdir /var/www/log
touch /var/www/log/forum-{error,access}.log
sudo chown www-data:www-data -R /var/www/log
NGINX Ayar Dosyası
Bu adımlardan sonra sitenizin ayar dosyasını oluşturmaya ve gerekli NGINX direktiflerini girmeye geçebilirsiniz. NGINX, sanal konak olarak adlandırılan alan adlarına dair ayar dosyalarını /etc/nginx/sites-available dizininde barındırmaktadır. Bu dizinde forumunuz için bir ayar dosyası oluşturun.
Dosya içerisine parametrelerine karar verdiğimiz yukarıdaki direktif ve bu direktiflere karşılık gelen parametreleri yazın.
phpBB’nin 3.2 sürümünün yeni yapısından dolayı hem kurulum hem de kurulum ardında phpBB’nin kullandığı kimi PHP betiklerinin NGINX tarafından doğru sunulabilmesi için aşağıdaki direktifler ve parametreleri de ayar dosyanıza eklemelisiniz.
Yine phpBB’nin 3.2 sürümünün özel durumundan dolayı PHP betiklerinin yorumlanmasıyla ilgili location direktifini aşağıdaki gibi değiştirmeniz gerekmekte.
Forumun güvenliği için kimi PHP dosyalarına erişimin kapatılması gerekmekte. Bunu da aşağıdaki location direktifi ile sağlayabilirsiniz.
Sonuç olarak phpBB 3.2 sürümü için asgari bir NGINX ayar dosyası örneği aşağıdaki gibi olabilir.
NGINX ayar dosyasını doldurduktan sonra bu dosyayı NGINX’in işleve koyması için /etc/nginx/sites-enabled dizini altında sembolik bağ oluşturmanız gerekmekte.
Son olarak ayar dosyanızda herhangi bir yazım yanlışı vs. olmadığını teyit edin.
Herhangi bir yanlışlık yoksa NGINX, PHP-FPM ve MariaDB servislerinizi yeniden başlatın.
sudo systemctl restat mysql.service
sudo systemctl restart php7.0-fpm.service
sudo systemctl restart nginx.service
phpBB Kurulumu
Servislerin yeniden başlatılması ardından tarayıcının adres satırında http://alan_adınız/install bağlantısını açarak phpBB kurulumuna başlayabilirsiniz.
Sizi ilk karşılayacak sayfa tanıtım sayfasıdır.
INSTALL sekmesine tıklayıp kuruluma geçebilirsiniz.
İkinci sayfada sizi phpBB kurulumu için neye gereksinim duyacağınızı açıklayan bilgiler karşılayacaktır. Bu gereksinimleri karşıladığınız için Install tuşuna basıp devam edin.
Üçüncü sayfa forum yöneticisinin oluşturulması aşamasıdır. Yöeticinin kullanıcı adı (administrator username), e-postası ve şifresini belirledikten sonra Submit tuşuna basarak bir sonraki adıma geçin.
Dördüncü sayfa veri tabanı ayarları için ayrılmıştır. Veri tabanınız yerel sunucunuz üzerinde çalıştığı için veritabanı sunucusunun nereden sunulduğunu belirten değer (Database server hostname or DNS) için localhost yazmanız gerekmekte. Makalenin “Veri Tabanı ve Kullanıcısının Oluşturulup Gerekli İzinlerin Verilmesi” bölümünde oluşturduğunuz ya da eski veri tabanına ait veri tabanı kullanıcısı, şifresi ve veri tabanı adını ilgili seçeneklerin karşısına yazın. Veri tabanı önekini değiştirmeden devam edin.
Bir sonraki sayfada sunucu yapılandırması ile ilgili seçenekler bulunmaktadır. Alan adınızı HTTPS protokolü üzerinde sunacaksanız Güvenli çerez (Cookie secure) seçeneğine evet demelisiniz. Yine HTTPS protokolü kullanılacaksa Sunucu protokolü seçeneğini https:// olarak değiştirmelisiniz. Alan adı (Domain name) seçeneği için alan adınızı ve bu alan adı için kullanılan port numarasını (server port) NGINX ayar dosyasındaki değerlere göre değiştirmeniz gerekmekte. Bu makaledeki örnek için ilgili seçenekler www.example.com ve 80 olmalıdır. Betik yolu (Script path) seçeneğini değiştirmeden devam edin.
Altıncı sayfada forumunuz için bir başlık ve kısa bir tanıtım yazın.
Devam ettiğinizde kurulum uygulanmaya başlanacaktır.
Son olarak kurulumun bittiğini gösteren sayfa ile karşılaşacaksınz.
Artık alan adınızı kullanarak forumunuza ulaşabilirsiniz.
Temizlik
Kurulumun tamamlanması için kurulum dizininin silinmesi gerekmekte. Silmek yerine dizinin adını ve izinlerini de değiştirebilirsiniz.
Eski Veri Tabanının Yüklenmesi
Forumunuza ait eski veri tabanını kullanmak istiyorsanız, temizliğin ardından bu veri tabanını yükleyebilirsiniz. Aşağıdaki komuttaki forum değerini eski veri tabanı adı ile değiştirmeniz gerekmektedir.
Son Söz
Umarım bu makale forum yazılımı için phpBB’yi tercih edenlerin phpBB’nin 3.2 sürümüyle gelen yeni yapısından kaynaklanan kurulum zorluklarını kolayca aşmalarını sağlar.
Gerekli Servis ve Paketlerin Kurulumu
phpBB forum yazılımını kurmadan önce bir web sunucusunun, PHP-FPM süreç yöneticisinin ve bir veri tabanı yöneticisinin kurulmuş olması gerekmektedir. İlgili servislerin kurulumu için SUDO Portal’da yayımlanan Ubuntu 16.04.1 Üzerine NGINX, PHP-FPM ve MariaDB Kurulumu makalesini okuyabilirsiniz.
Yukarıda bahsedilen servislerin kurulumu ardından PHP’nin grafik çizimi modülünün ve XML eklentisinin sağlandığı paketleri aşağıdaki komutla kurun.
sudo apt install php-gd php-xml
Böylece phpBB forum yöneticisi için gerekli servis ve paketlerin kurulumu tamamlanacaktır.
Veri Tabanı ve Kullanıcısının Oluşturulup Gerekli İzinlerin Verilmesi
İletilerin, üyelerin ve bunlarla ilgili tüm bilgilerin tutulması için bir veri tabanına ihtiyaç var. Forumun kullanacağı veri tabanını oluşturmak için aşağıdaki komutu kullanabilirsiniz. Bu anlatımda forum veri tabanı için forum adı kullanılmıştır. Eğer forumunuz için var olan bir veri tabanını yeni kurulumda kullanmak istiyorsanız forum değerini var olan veri tabanı adıyla değiştirin. Böyle bir ihtiyacınız bulunmuyorsa forum değerini uygun gördüğünüz bir değerle değiştirin.
Kod:
sudo mysqladmin create forum
Kod:
sudo mysql --user=root --password --batch --silent --execute="create user 'forumcu'@'localhost' identified by 'çokgizlişifre';"
Kullanıcıya veri tabanı düzeyindeki yetkileri aşağıdaki komutla atayabilirsiniz.
Kod:
sudo mysql --user=root --password --batch --silent --execute="grant all privileges on \`forum\`.* to 'forumcu'@'localhost';"
Kod:
sudo mysqladmin flush-privileges
phpBB’nin 3.2 sürümü henüz Ubuntu depolarına girmediği için forum yazılımı, sitesinden sunulan sıkıştırılmış dosya aracılığıyla kurulacak. Sıkıştırılmış dosyayı aşağıdaki komutla yazılımın kurulacağı makineye indirebilirsiniz.
Kod:
curl -O https://www.phpbb.com/files/release/phpBB-3.2.0.tar.bz2
Kod:
sha256sum phpBB-3.2.0.tar.bz2
Kod:
tar xf phpBB-3.2.0.tar.bz2
NGINX Ayarları
phpBB kurulumuna başlamadan önce NGINX’in siteyi sunacak şekilde yapılandırılması gerekmektedir. Bunu sağlamak adına siteniz için bir ayar dosyasının oluşturulup, gerekli NGINX direktiflerinin girilmesi gerekmektedir. Ayar dosyasını doldurmadan önce 4 direktif için gerekli parametrenin ne olması gerektiğine karar vermelisiniz.
Direktif Açıklama |
root | Sitenizin sunulacağı dizin |
server_name | Alan adınız |
error_log | Siteye yapılan istekler sonucu oluşan hataların tutulacağı dosya |
access_log | Siteye yapılan isteklerin tutulacağı dosya |
root Direktifi
root direktifi için gerekli dizini oluşturun.
Kod:
sudo mkdir /var/www/phpbb
Kod:
sudo cp -R phpBB3/* /var/www/phpbb/
Kod:
sudo chown -R www-data:www-data /var/www/phpbb/
Kod:
cd /var/www/phpbb
sudo chmod 660 images/avatars/upload/ config.php
sudo chmod 770 store/ cache/ files/
İlgili direktiflerin parametreleri için gerekli dizini oluşturup, izinlerini atayın.
mkdir /var/www/log
touch /var/www/log/forum-{error,access}.log
sudo chown www-data:www-data -R /var/www/log
NGINX Ayar Dosyası
Bu adımlardan sonra sitenizin ayar dosyasını oluşturmaya ve gerekli NGINX direktiflerini girmeye geçebilirsiniz. NGINX, sanal konak olarak adlandırılan alan adlarına dair ayar dosyalarını /etc/nginx/sites-available dizininde barındırmaktadır. Bu dizinde forumunuz için bir ayar dosyası oluşturun.
Kod:
cd /etc/nginx/sites-available
sudo touch forum
nano forum
Kod:
root /var/www/phpbb/;
server_name www.example.com example.com;
error_log /var/www/log/forum-error.log;
access_log /var/www/log/forum-access.log;
Kod:
location / {
try_files $uri $uri/ @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
# kurulum için gerekli direktif
location /install/app.php {
try_files $uri $uri/ /install/app.php?$query_string;
}
# kurulum için aşağıdaki direktif de terih edilebilir
#location @rewrite_installapp {
# rewrite ^(.*)$ /install/app.php/$1 last;
#}
Kod:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $uri $uri/ /app.php$is_args$args;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
Kod:
# PHP dosyalarına erişimi kapat
location ~ /(config\.php|common\.php|includes|cache|files|store|images/avatars/upload) {
deny all;
}
Kod:
server {
listen 80;
listen [::]:80;
root /var/www/phpbb/;
index index.php index.html index.htm;
server_name www.example.com example.com;
error_log /var/www/log/forum-error.log;
access_log /var/www/log/forum-access.log;
gzip on;
gzip_disable "msie6";
gzip_comp_level 8;
gzip_buffers 16 8k;
gzip_min_length 1000;
gzip_types text/plain text/css images/png image/gif image/jpg application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
location / {
try_files $uri $uri/ @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
# PHP dosyalarına erişimi kapat
location ~ /(config\.php|common\.php|includes|cache|files|store|images/avatars/upload) {
deny all;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $uri $uri/ /app.php$is_args$args;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
# Kurulum için gerekli direktif
location /install/app.php {
try_files $uri $uri/ /install/app.php?$query_string;
}
# Kurulum için aşağıdaki direktif de tercih edilebilir
#location @rewrite_installapp {
# rewrite ^(.*)$ /install/app.php/$1 last;
#}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 1y;
log_not_found off;
}
}
Kod:
cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/forum .
Kod:
sudo nginx -t
sudo systemctl restat mysql.service
sudo systemctl restart php7.0-fpm.service
sudo systemctl restart nginx.service
phpBB Kurulumu
Servislerin yeniden başlatılması ardından tarayıcının adres satırında http://alan_adınız/install bağlantısını açarak phpBB kurulumuna başlayabilirsiniz.
Sizi ilk karşılayacak sayfa tanıtım sayfasıdır.
INSTALL sekmesine tıklayıp kuruluma geçebilirsiniz.
İkinci sayfada sizi phpBB kurulumu için neye gereksinim duyacağınızı açıklayan bilgiler karşılayacaktır. Bu gereksinimleri karşıladığınız için Install tuşuna basıp devam edin.
Üçüncü sayfa forum yöneticisinin oluşturulması aşamasıdır. Yöeticinin kullanıcı adı (administrator username), e-postası ve şifresini belirledikten sonra Submit tuşuna basarak bir sonraki adıma geçin.
Dördüncü sayfa veri tabanı ayarları için ayrılmıştır. Veri tabanınız yerel sunucunuz üzerinde çalıştığı için veritabanı sunucusunun nereden sunulduğunu belirten değer (Database server hostname or DNS) için localhost yazmanız gerekmekte. Makalenin “Veri Tabanı ve Kullanıcısının Oluşturulup Gerekli İzinlerin Verilmesi” bölümünde oluşturduğunuz ya da eski veri tabanına ait veri tabanı kullanıcısı, şifresi ve veri tabanı adını ilgili seçeneklerin karşısına yazın. Veri tabanı önekini değiştirmeden devam edin.
Bir sonraki sayfada sunucu yapılandırması ile ilgili seçenekler bulunmaktadır. Alan adınızı HTTPS protokolü üzerinde sunacaksanız Güvenli çerez (Cookie secure) seçeneğine evet demelisiniz. Yine HTTPS protokolü kullanılacaksa Sunucu protokolü seçeneğini https:// olarak değiştirmelisiniz. Alan adı (Domain name) seçeneği için alan adınızı ve bu alan adı için kullanılan port numarasını (server port) NGINX ayar dosyasındaki değerlere göre değiştirmeniz gerekmekte. Bu makaledeki örnek için ilgili seçenekler www.example.com ve 80 olmalıdır. Betik yolu (Script path) seçeneğini değiştirmeden devam edin.
Altıncı sayfada forumunuz için bir başlık ve kısa bir tanıtım yazın.
Devam ettiğinizde kurulum uygulanmaya başlanacaktır.
Son olarak kurulumun bittiğini gösteren sayfa ile karşılaşacaksınz.
Artık alan adınızı kullanarak forumunuza ulaşabilirsiniz.
Temizlik
Kurulumun tamamlanması için kurulum dizininin silinmesi gerekmekte. Silmek yerine dizinin adını ve izinlerini de değiştirebilirsiniz.
Kod:
sudo mv /var/www/phpbb/install /var/www/phpbb/silinecek
sudo chown root:root -R /var/www/phpbb/silinecek
sudo chmod 440 -R /var/www/phpbb/silinecek
Forumunuza ait eski veri tabanını kullanmak istiyorsanız, temizliğin ardından bu veri tabanını yükleyebilirsiniz. Aşağıdaki komuttaki forum değerini eski veri tabanı adı ile değiştirmeniz gerekmektedir.
Kod:
sudo mysql --user root --password forum < eki_veri_tabanı_yedeği.sql
Umarım bu makale forum yazılımı için phpBB’yi tercih edenlerin phpBB’nin 3.2 sürümüyle gelen yeni yapısından kaynaklanan kurulum zorluklarını kolayca aşmalarını sağlar.