Linux

Ubuntu'da LAMP server kurulumu

Ubuntu'da LAMP server kurulumu

Ubuntu 20.04 ve Linux Mint 20'de LAMP Kurulumu

Bu rehberde, Ubuntu 20.04 LTS ve Linux Mint 20 sürümlerinde LAMP (Linux, Apache, MySQL, PHP) sunucusu kurulumunu adım adım anlatacağız.

LAMP Nedir?

LAMP, Linux işletim sistemi üzerinde çalışan Apache web sunucusu, MySQL veritabanı yönetim sistemi ve PHP programlama dili kombinasyonunu ifade eden bir kısaltmadır.

Adım Adım LAMP Kurulumu

1. Adım: LAMP Sunucusunu Kurun

Terminali açın ve aşağıdaki komutu çalıştırarak LAMP sunucusunu kurun:

sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql

Kurulum sırasında MySQL için bir parola belirlemeniz istenecektir. Bu parolayı bir yere not edin; yerel sunucuda Drupal veya başka bir içerik yönetim sistemi kullanırken gerekli olacaktır.

2. Adım: Apache'nin Çalışıp Çalışmadığını Kontrol Edin

Tarayıcınızı açın ve http://localhost/ adresine gidin. Eğer "It works!" mesajını görüyorsanız, Apache başarılı bir şekilde kurulmuş demektir.

3. Adım: MySQL Güvenli Kurulumu

MySQL sunucusunu güvenli hale getirmek için aşağıdaki komutu çalıştırın:

sudo mysql_secure_installation

Bu komut, root kullanıcısı için bir parola belirlemenizi, anonim kullanıcıları kaldırmanızı, root oturum açmalarını sadece yerel makinelerle sınırlandırmanızı ve test veritabanını kaldırmanızı isteyecektir.

4. Adım: PHP'yi Test Edin

Apache web sunucusunun kök dizininde bir PHP dosyası oluşturarak PHP'nin doğru çalıştığını doğrulayabilirsiniz:

sudo nano /var/www/html/info.php

Açılan dosyaya aşağıdaki kodu yazın ve kaydedip kapatın:

<?php phpinfo(); ?>

Tarayıcınızdan http://localhost/info.php adresine gidin. PHP'nin bilgilerini içeren bir sayfa görmelisiniz.

5. Adım: phpMyAdmin Kurulumu

phpMyAdmin'i kurmak için terminalden aşağıdaki komutu çalıştırın:

sudo apt install phpmyadmin

Kurulum sırasında web sunucusu olarak Apache'yi seçin ve MySQL için bir yönetici parolası belirleyin.

phpMyAdmin'i Apache yapılandırmasına eklemek için aşağıdaki komutu çalıştırın:

sudo ln -s /usr/share/phpmyadmin /var/www/html

Tarayıcınızdan http://localhost/phpmyadmin adresine gidin ve phpMyAdmin giriş ekranını görmelisiniz.

Servisleri Çalıştırma ve Durdurma

Apache için:

  • Çalıştırmak için: sudo systemctl start apache2
  • Durdurmak için: sudo systemctl stop apache2
  • Yeniden başlatmak için: sudo systemctl restart apache2

MySQL için:

  • Çalıştırmak için: sudo systemctl start mysql
  • Durdurmak için: sudo systemctl stop mysql
  • Yeniden başlatmak için: sudo systemctl restart mysql

Bu adımları takip ederek Ubuntu 20.04 veya Linux Mint 20 üzerinde LAMP sunucunuzu başarıyla kurmuş olacaksınız. Artık PHP destekli web projelerinizi geliştirmeye başlayabilirsiniz.

Ubuntu üzerinde Cherokee Web Server kurulumu

Ubuntu üzerinde Cherokee Web Server kurulumu

Cherokee Nedir?

Cherokee; yenilikçi, yüksek performanslı ve eşzamanlı güvenli web uygulamalarının gelecek nesil için tasarlanmış açık kaynak kodlu bir web sunucusudur. Yapılandırmak hızlı ve kolaydır.

Cherokee özellikleri nelerdir?

Kullanıcı dostu; Tüm yapılandırma güçlü ve modern bir web arayüzü aracılığıyla tamamen tatbik edilebilir olmasıdır. Cherokee yönetmek çok kolaydır.

Modern Teknolojileri; Cherokee en yaygın Web FastCGI, SCGI, PHP, uWSGI, SSI, CGI, LDAP, SSL / TLS, HTTP proxy, video akışı, içerik önbelleğe alma, trafik şekillendirme vs tüm teknolojilerini destekler.

Çapraz Platform; Cherokee Linux, Mac OS X, Solaris ve BSD üzerinde çalışır
Kurulum

sudo add-apt-repository ppa: cherokee-webserver/ppa
sudo update apt-get
sudo apt-get install cheroke

Cheroke Web serverin yönetici konsoluna ulaşmak için aşağıdaki komutla bilgileri alıyoruz.

sudo cherokee-admin

Gerekli bilgilerimizi aldıktan sonra
http://ipadresiniz:9090 şeklinde güncelleyerek kullanıma açabilirsiniz.

Cherokee Web Sunucunun web arayüzüne baglanmak için tarayıcınızda (http://127.0.0.1:9090) yada (http://ipadresiniz:9090) adresine giriş yapıyoruz.
"cherokee-admin" ile aldığımız bilgileri, kullanıcı adı ve bir defa sağlanan şifre bilgilerini kullanarak giriş yapıyoruz. Yeni web sunucunuz kullanıma hazır..

Mutlu kodlamalar

EncryptPad - Linux için Şifreli Metin Düzenleyici

EncryptPad

Dijital gizlilik ve güvenlik söz konusu olduğunda çok dikkatli olamazsınız. Verilerinizi korumak için mevcut olan, her biri farklı güvenlik tedbirleri türlerini ve farklı amaçlar için oluşturulmuş birçok araç ve uygulama bulunmaktadır. Bugün Linux için şifreli bir metin editörü - EncryptPad'i tanıtacağız.

EncryptPad'in Temel Özellikleri

  • Çapraz platform, destekler — Windows, Mac & Linux.
  • Her ikisinide destekler Passphrase and Key file protection (or a combination of both)
  • Rasgele güçlü parola cümleleri oluşturmak için özelleştirilebilir parolalı dize üreteci
  • Rasgele anahtar dosyası üreticisi
  • Anahtar dosya yönetimi için çeşitli uygun seçenekler ve ayarlar.
  • İkili dosya şifreleme desteği
  • Yanlışlıkla değişiklik yapılmasını önlemek için salt okunur mod
  • Parolalar hafızada tutulmaz, sadece S2K sonuçları saklanır.
  • Çoklu şifreleme algoritmalarını destekler — CAST5, TripleDES, AES128, AES256
  • Birden çok karma algoritmayı destekler — SHA-1, SHA-256, SHA-512
  • SHA-1 ile bütünlük koruması
  • zlib or ZIP ile sıkıştırmayı destekler

Neden Linux için şifrelenmiş bir metin editörü kullanıyorsunuz?

EncryptPad, banka hesabı, kredi kartı, parola vb. gibi hassas bilgilerinizi korunmasız usb bellek veya buluta sunucuna depolamak için kullanılabilir. Dolayısıyla, herhangi biri bilgilerinize erişse bile, bilgilerinizi okuyamazlar.

Ayrıca, çapraz platformlar ve hemen hemen her masaüstü platformunda kullanabilirsiniz. EncryptPad taşınabilir kurulumu destekler, böylece bir flash sürücüde sizinle yanınızda taşıyabilirsiniz.

Dikkat ve EncryptPad ile Bilinen Sorun

Parolanızı unuttuğunuzda veya dosyayı şifrelemek için kullanılan anahtar dosyasını kaybederseniz, artık ona erişmenin başka yolu olmayacaktır. EncryptPad'in desteklediği biçimler için herhangi bir arka kapı veya atlama yöntemi yoktur. EncryptPad, şifresi çözülmüş metni bilgisayarınızın belleğine depolar. Dolayısıyla bir bellek dökümü alınırsa orada kalır. Bu yüzden, EncryptPad'i kullanmadığınız zamanlarda kapatmanız önerilir.

 

EncryptPad'i Ubuntu'ya nasıl kurabilirim?

EncryptPad, PPA aracılığıyla Ubuntu için kullanılabilir. EncryptPad'i yüklemek için aşağıdaki komutları bir terminal penceresinde çalıştırın:

Güvenlik, bu tür bir uygulamanın temel kaygısıdır. Dolayısıyla, PPA aracılığıyla mevcut kaynak dosyaların bütünlüğünü doğrulamak isteyebilirsiniz. EncryptPad GitHub deposunda bütünlük doğrulama prosedürü hakkında ayrıntılı bir rehber bulunmaktadır. sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt update sudo apt install encryptpad encryptcli EncryptPad komut satırı aracına encryptcli yazarak çalıştırabilirsiniz. Kullanma konusunda yardım için aşağıdaki komutu çalıştırabilirsiniz: encryptcli --help EncryptPad ile ilgili her şey resmi sitesinde ve GitHub deposunda belgelenmiştir.

EncryptPad GitHub Repo

Dilerseniz, kaynak kodu GitHub deposundan çekip kendiniz de derleyebilirsiniz. Şifrelemeyle ilgili herhangi bir metin düzenleyicisini kullanıyor musunuz yoksa EncryptPad'i deneyecekmisiniz? Geri bildirimde bulunursanız çok seviniriz. Mutlu kodlamalar

Linux veya Unix Sunucusunda SSH Bağlantı Noktası Nasıl Değiştirilir?

ssh

Linux veya Unix Sunucusu için SSH Bağlantı Noktasını değiştirme prosedürü

  1. Terminal uygulamasını açın ve sunucunuza SSH aracılığıyla bağlanın.
  2. Find komutunu yazarak sshd_config dosyasını bulun.
  3. Sshd sunucu dosyasını düzenleyin ve Port seçeneğini ayarlayın.
  4. Dosyayı kaydedin ve kapatın
  5. Linux'ta ssh bağlantı noktasını değiştirmek için sshd hizmetini yeniden başlatın.

Aşağıdaki komutu yazarak sshd_config dosyasını bulun

find / -name "sshd_config" 2>/dev/null

Örnek çıktılar:

/ etc /ssh /sshd_config

Find komutu, sshd_config adlı sshd sunucusu yapılandırma dosyasını bulmaya çalışır.

Dosyayı düzenleyin ve Bağlantı Noktası seçeneğini ayarlayın

Aşağıdaki komutu yazın: Aşağıdaki

sudo nano /etc/ssh/sshd_config

Aşağıdaki okunan satırı bulun:

Port 22

yada

#Port 22

Bağlantı noktasını 2222'ye ayarlamak için şunu girin:

Port 2222

Dosyayı kaydedin ve kapatın. 0-1023 bağlantı noktası numaralarının çeşitli sistem hizmetleri için ayrıldığını lütfen unutmayın. Bu nedenle, 1024 ile 65535 arasında bağlantı noktası numaralarını seçmenizi öneririm. Aşağıda, ayrıcalıklı hizmetlerin ve iyi bilinen bağlantı noktalarının ortak bir listesi verilmiştir:

Liman
Protokol
Hizmet
20 tcp ftp verileri
21 tcp Ftp sunucusu
22 tcp ssh sunucusu
23 tcp telnet sunucusu
25 tcp e-posta sunucusu
53 tcp / udp Alan adı sunucusu
69 udp tftp sunucusu
80 tcp HTTP sunucusu
110 tcp / udp POP3 sunucusu
123 tcp / udp NTP sunucusu
443 tcp HTTPS sunucusu

İnternet ağ hizmetleri listesini görmek için cat komutunu / grep komutunu / egrep komutunu kullanın:

cat /etc/services
less /etc/services
more /etc/services
grep -w '22/tcp' /etc/services
grep SSH /etc/services
grep -w '80/tcp' /etc/services
egrep -w '(80|443|110|53)/tcp' /etc/services

Uyarı : Sisteminizde firewall kullanıyorsanız yeni bağlantı noktasını kabul etmek için güvenlik duvarı ayarlarınızı güncellemelisiniz. Aksi takdirde aşağıdaki komut ssh erişiminizi kilitleyecektir.

Bir CentOS / RHEL / Fedora Linux'ta aşağıdaki komutu yazın:
sudo service sshd restart

VEYA systemd ile CentOS / RHEL / Fedora Linux
sudo systemctl restart sshd

kullanıyorsanız : VEYA Ubuntu / Debian / Mint Linux kullanıyorsanız:
sudo service ssh restart

VEYA Ubuntu / Debian / Mint Linux kullanıyorsanız systemd ile:
sudo systemctl restart ssh

Veya FreeBSD Unix kullanıyorsanız, şunu girin:
sudo service sshd restart

2222 numaralı TCP bağlantı noktasının açıldığı nasıl doğrulanır?

Netstat komutunu veya ss komutunu kullanın:

ss -tulpn | grep 2222
netstat -tulpn | grep 2222

Yeni SSH bağlantı noktasını komut satırıyla kullanma
Sözdizimi şöyledir: Örneğin:

ssh -p {port} user@server
sftp -P {port} openssh-server
scp -P {port} source target
scp -P {port} /path/to/foo user@server:/dest/

yada

ssh user@serveradresi -p  {port}

Sonuç

Bu sayfada, sunucuyu bağlamak için ssh komut satırı seçeneği dahil olmak üzere hem Linux hem de Unix benzeri sistemlerde SSH bağlantı noktasının nasıl değiştirileceği açıklanmıştır. Daha fazla bilgi için lütfen aşağıdaki kaynaklara bakın:

OpenSSH SSH arka plan programı yapılandırma dosyası (sshd_config) kılavuz sayfası : https://man.openbsd.org/sshd_config

Redis Kurulumu ve Drupal konfigürasyonu

Redis Kurulumu ve Drupal Yapılandırma

İlk aşala Redis'i yükleyin

Terminalinizi açın ve aşağıdaki komut ile Redis'i indirmeye çalışın.
apt-get install redis-server

Yukarıdaki komutu girdikten sonra eğer bulunamadı uyarısı ile karşılarsınız aşağıdaki depoyu sisteminize ekleyerek yeniden kurulum yapmayı deneyin.

add-apt-repository ppa:chris-lea/redis-server
apt-get update
apt-get install redis-server

İndirme ve kurulum tamamlandıktan sonra benchmark testi ile kontrol etmek istiyebilirsiniz.
redis-benchmark -q -n 1000 -c 10 -P 5

Redis'in php kütüphanesini yükleyin

apt-get install php7.3-dev git
git clone https://github.com/phpredis/phpredis.git
cd phpredis
git checkout 
phpize
./configure
make && make install
cd ..
rm -rf phpredis
echo "extension=redis.so" > /etc/php/7.3/mods-available/redis.ini
ln -sf /etc/php/7.3/mods-available/redis.ini /etc/php/7.3/fpm/conf.d/20-redis.ini
ln -sf /etc/php/7.3/mods-available/redis.ini /etc/php/7.3/cli/conf.d/20-redis.ini
service php7.3-fpm restart

Not: Sunucunuzdaki php versiyonuna göre düzenleyin.

Redis modülünü Drupal'a kurun
Drupal'dan Redis modülünü indirin ve sisteminize kurun.

Drupal'ı yapılandırın
Aşağıdaki kodları settings.php yada settings.local.redis.php dosyası oluşturup ekleyebilirsiniz.

$settings['redis.connection']['interface'] = 'PhpRedis';                  // Can be "Predis" in the future
$settings['redis.connection']['host']      = '127.0.0.1';                 // Your Redis instance hostname
$settings['cache_prefix']                  = 'any-text-you-want';         // Optional prefix for cache entries

$settings['cache']['default']              = 'cache.backend.redis';       // The default cache engine for the site
// Always set the fast backend for bootstrap, discover and config, otherwise this gets lost when redis is enabled.
$settings['cache']['bins']['bootstrap']    = 'cache.backend.chainedfast';
$settings['cache']['bins']['discovery']    = 'cache.backend.chainedfast';
$settings['cache']['bins']['config']       = 'cache.backend.chainedfast';

$settings['container_yamls'][] = 'modules/redis/example.services.yml';
$settings['container_yamls'][] = 'modules/redis/redis.services.yml';

//Register our namespace
$class_loader->addPsr4('Drupal\\redis\\', 'modules/redis/src');

Yeniden test edin

redis-cli monitor
Drupal sitenize web tarayıcınızda göz atın ve gezinmeye başlayın. Şimdi CLI pencerenizde görünen ve size her şeyin doğru çalıştığını söyleyen bir sürü şey görmelisiniz. Yanıp sönen metni görmüyorsanız, bir hata yapmışsınızdır veya yapılandırmanız benimkinden farklıdır. Metin görürseniz, redis'den çıkmak için Ctrl+ C kombinasyonunu kullanarak çıkış yapabilirsiniz.

Sonuç

Redis, güçlü özellikleri ve basit kurulumu arasında, sadece üretimde değil, her yerde Drupal önbelleğe alma için memcached'e çekici bir alternatif olabilir. Hala şüpheciyseniz, Redis'i mevcut bir site için memcached ile paralel olarak çalıştırabilirsiniz. Tamamen Redis'e rahatça taşınana kadar ayarlar dosyanızda sadece bazı küçük değişiklikler yaparak ikisi arasında geçiş yapabilirsiniz.

Ubuntu 20.04 Drush Kurulumu

Drush

Drush'ı kurmak, Drupal kurulumlarınızı tanıdık bir yöntem olan komut satırı kullanarak yönetmenin bir yolunu sağlar. Drush, yönetici görevlerini yerine getirmenize izin vererek hayatınızı basitleştirebilir.

Bu eğitimde, Drush'ın bağımlılıklarını kurmak için gerekli olduğundan Composer'ı paket yöneticimiz olarak kullanacağız. Composer en az 1 GB cıvarında bellek kullanır, bu nedenle bu eğiticiye başlamadan önce buna sahip olduğunuzdan emin olun.

1. Adım: Güncelleme

Depoları kontrol ederek sistemimizi güncelleyeceğiz

apt-get update

2. Adım: Zip'i yükleyin

Büyük olasılıkla zip komutuna zaten sahip olacaksınız, ancak devam edip yükleme yapamazsanız diye kontrol edebilirsiniz.

apt-get install zip unzip

3. Adım: Curl'u Yükleyin

apt-get install curl php7-cli git

4. Adım: Composer'ı yükleyin

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Adım 5: Drush'ı yükleyin

Aşağıdaki komutu kullanmak Drush'ın en yeni sürümünü yükleyecektir, şu anda

composer global require drush/drush

Alternatif olarak, gerekli sürümü ekleyerek seçtiğiniz Drush sürümünü yükleyebilirsiniz. Drush 8'in kullanılmasını istiyorsanız…

composer global require drush/drush:8

Not: drush ard komutu 8 surumunden sonra kaldırıldı. Benim gibi drush ard kullanmayı seviyorsanız drush 8 kurmakta fayda var.

Adım 6: Yolunuza Sıkıcı Dizin Ekleyin

6. Adımda sürüm kontrolünü gerçekleştirdiğinizde consolda "-bash: drush: command not found" hatasıyla karşılaşıyorsanız .bashrc dosyanızı açın ve aşağıdaki aliası dosyaya ekleyin.
nano .bashrc
Aşağıdaki aliası açtığınız dosyaya ekleyin.

#path for Drush
export PATH="$HOME/.composer/vendor/bin:$PATH"

Drush'ı çalıştır dosyadaki değişiklikleri tanır.

source .bashrc

Adım 7: Drush Kurulumunu Doğrulayın

Aşağıdaki komutu çalıştırarak Drush kurulumunun sürümünü ve diğer yararlı bilgileri doğrulayabilirsiniz.

drush status

Çıktı:

 PHP executable         :  /usr/bin/php                                 
 PHP configuration      :  /etc/php/7.3/cli/php.ini                     
 PHP OS                 :  Linux                                        
 Drush script           :  /root/.composer/vendor/drush/drush/drush.php 
 Drush version          :  8.0.0                                        
 Drush temp directory   :  /tmp                                         
 Drush configuration    :                                               
 Drush alias files      :

Composer Cannot allocate memory Hatası Çözümü

composer

Composer kullanarak herhangi bir php kütüphaneyi kurmaya çalıştığınızda [ErrorException] proc_open(): fork failed - Cannot allocate memory hatasını alıyorsanız . Bunun nedeni, VPS'nin belleği yetersiz kaldığı ve Swap alanı etkin olmadığı için olabilir.

Çözümü oldukça basittir. Yapmanız gereken aşağıdaki adımları takip etmek.

Konsola aşağıdaki komut ile sistemin ne kadar bellek kullandığına ve swap alanı ayrılmış mı? Kontrol edebilirsiniz.

free -m

Görüldüğü üzere swap alanı ayrılmamış.

total        used        free      shared  buff/cache   available
Mem:           3955        2035         924         138         996        1547
Swap:             0           0           0

Buradaki komutları kullanarak sisteminize geçici takas alanı ayırabilirsiniz. (count= kendinize göre ayarlayın)

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

Tüm bu adımları izledikten sonra yeniden composer ile kütüphanelerinizi kurabilirsiniz. Bir sonraki composer yazısında kalıcı takas alanı oluşturmayı anlatmak olucak.

Kaynak : https://getcomposer.org

Drupal 8 için Sunucu Kurulumu (lemp) Nasıl Yapılmalıdır?

drupal lemp

Bu yazıda Drupal 8'in Nginx, PHP-FPM, MySQL ve phpMyAdmin ile nasıl kurulacağını öğreneceksiniz.

SSH'ye erişmek için Windows için Putty kullanabilirsiniz. Linux kullananlar bilirler termina ile sunucuya bağlanabilirsiniz.

Sunucunuzu koruyun

example_user öğesini istediğiniz kullanıcı adıyla değiştirerek kullanıcıyı oluşturun. Daha sonra kullanıcıya bir şifre atamanız istenecektir:
adduser example_user

Root kullanıcı ile SSH üzerinden girişlere izin vermeyin. Tüm SSH bağlantılarının root olmayan kullanıcılar tarafından yapılmasını gerekir. Sınırlı bir kullanıcı hesabı bağlandığında, yönetici ayrıcalıklarına sudo kullanarak veya su - kullanarak bir kök kabuğuna geçerek root kullanıcı yetkilerine erişilebilir.

sudo nano /etc/ssh/sshd_config
# Authentication: ...

PermitRootLogin no

Linux sisteminizi güncelleyin (Debian, Ubuntu vs)

sudo apt-get update

Nginx ve PHP-FPM'i kurun

Nginx'i aşağıdaki apt komutuyla yükleyin:

sudo apt-get install nginx -y

Ardından, Drupal çekirdeği için gerekli olan php-gd uzantılı php7.2-fpm'yi kurun:

sudo apt-get install php7.2-fpm php7.2-cli php7.2-gd php7.2-mysql php7.2-xml -y

Nginx ve PHP-FPM'i yapılandırın

Bu adımda, Nginx'i PHP sayfaları için HTTP istekleri sunmak üzere php-fpm kullanacak şekilde yapılandıracağız. Php-fpm "/etc/php/7.2/fpm" dizinine gidin ve "php.ini" dosyasını düzenleyin:

sudo nano /etc/php/7.2/fpm/php.ini

cgi.fix_pathinfo satırını açın ve değeri "0" olarak değiştirin

Nano komutunu kullanırken, bu satırı bulmak için CTRL + W tuşlarını kullanabilirsiniz. Bir kez değiştiğinde değişiklikleri kaydetmek için CTRL + O tuşlarına basın ve nano editörden çıkmak için CTRL + X tuşlarına basın.

Şimdi varsayılan Nginx sanal ana bilgisayar yapılandırmasını değiştirmeliyiz. "Default" dosyasını düzenleyin ve php-fpm direktifini etkinleştirin.

sudo nano /etc/nginx/sites-available/default
location ~ \.php$ bölümunu aşağıdaki gibi ayarlayın.

location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.2-cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php7.2-fpm:
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}

CTRL + O ve CTRL + X

Ardından Nginx yapılandırmasını geçerli olduğundan emin olmak için "nginx -t" komutuyla test edin:

nginx -t

Hata yoksa, nginx ve php-fpm servisini yeniden başlatın:

systemctl restart nginx
systemctl restart php7.2-fpm

PHP Bilgi dosyası (İsteğe bağlı)

Daha sonra, "/var /www /html" dizininde yeni php bilgi dosyası oluşturarak php-fpm dosyasının nginx ile düzgün çalıştığını test edin.

cd /var/www/html/
echo "<? php phpinfo(); ?>" > info.php

Bir web tarayıcısında sunucu IP'sindeki info.php dosyasını ziyaret edin. Sonuç, aşağıdaki ekran görüntüsüne benzer olmalıdır.

VirtualHost'u Drupal İçin Yapılandırın

Drupal 8'i "/srv/www/magnec.com" dizinine yükleyeceğiz. Lütfen yüklemenizdeki etki alanı adımı, bu Drupal yüklemesini kullanmak istediğiniz web sitesinin etki alanı adıyla değiştirin. Öyleyse dizini oluşturalım:

sudo mkdir -p /srv/www/magnec.com/{public_html,logs}
sudo usermod -a -G www-data admin
sudo chown -R www-data:www-data /srv/www
sudo chmod -R 775 /srv/www
sudo nano /etc/nginx/sites-available/magnec.com

Drupal 8 için Nginx yapılandırmasını yapıştırın:

server {
    server_name magnec.com;
    root /srv/www/magnec.com/public_html; ## <-- Your only path $
    access_log /srv/www/magnec.com/logs/access.log;
    error_log /srv/www/magnec.com/logs/error.log;

    listen 80;
    listen [::]:80;


    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # Very rarely should these ever be accessed outside of your lan
    location ~* \.(txt|log)$ {
        allow 192.168.0.0/16;
        deny all;
    }

    location ~ \..*/.*\.php$ {
        return 403;
    }

    location ~ ^/sites/.*/private/ {
        return 403;
    }

    # Block access to "hidden" files and directories whose names begin with a
    # period. This includes directories used by version control systems such
    # as Subversion or Git to store control files.
    location ~ (^|/)\. {
        return 403;
    }

    location / {
        # try_files $uri @rewrite; # For Drupal <= 6
        try_files $uri /index.php?$query_string; # For Drupal >= 7
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?q=$1;
    }

    # In Drupal 8, we must also match new paths where the '.php' appears in the middle,
    # such as update.php/selection. The rule we use is strict, and only allows this pattern
    # with the update.php front controller.  This allows legacy path aliases in the form of
    # blog/index.php/legacy-path to continue to route to Drupal nodes. If you do not have
    # any paths like that, then you might prefer to use a laxer rule, such as:
    #   location ~ \.php(/|$) {
    # The laxer rule will continue to work if Drupal uses this new URL pattern with front
    # controllers other than update.php in a future release.
    location ~ '\.php$|^/update.php' {
        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
        #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        include fastcgi_params;
        include snippets/fastcgi-php.conf;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    # Fighting with Styles? This little gem is amazing.
    # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
    location ~ ^/sites/.*/files/styles/ { # For Drpal >= 7
        try_files $uri @rewrite;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }
}

CTRL + O ve CTRL + X

Drupal sanal ana bilgisayar dosyası oluşturuldu, şimdi "sites-enabled" dizinindeki dosyaya bir link oluşturarak onu aktive etmemiz gerekiyor:

ln -s /etc/nginx/sites-available/magnec.com /etc/nginx/sites-enabled/

Nginx yapılandırmasını test edin ve hata yoksa Nginx'i yeniden başlatın:

nginx -t
systemctl restart nginx

MySQL'i yükleyin

sudo apt-get install mysql-server
​sudo mysql_secure_installation

PhpMyAdmin'i yükleyin

sudo apt-get install phpmyadmin

Kurulum sizden otomatik yapılandırma istediğinde ESC'ye basın, çünkü Nginx için seçenek yoktur.

sudo ln -s /usr/share/phpmyadmin/ /srv/www/magnec.com/public_html/phpmyadmin

Drupal'ı Kurun ve Yapılandırın

Daha önce yarattığımız dizine girin ve Drupal'ı wget ile indirin. En yeni Drupal 8.6.13 yi kullanıyorum. 21 Mart 2019 tarihinden itibaren yayımlanan sürümde, Drupal 8 indirme sayfasını ziyaret ederek ve son sayıları yazarak en son sürümü indirdiğinizden emin olun.

cd /srv/www/magnec.com
sudo wget https://ftp.drupal.org/files/projects/drupal-8.8.1.tar.gz
sudo tar -xvzf drupal-8.8.1.tar.gz
sudo cp drupal-8.8.1/* public_html/ -R
sudo chown www-data:www-data public_html -R

Şimdi web tarayıcısında Drupal sitenizi ziyaret edin, aşağıdaki ekranı görmelisiniz

Drupal 8 karşılama ekranı

Şimdi, veritabanına bağlanmanın ve Drupal 8 web sitenizi kurmanın tam zamanı!

Takıldığınız bir yer olduğunda mail atmaktan aramaktan çekinmeyin! Mutlu Kodlamalar

Hizmetlerimizden birine ihtiyacınız olduğunda her zaman yanınızda olucağız.

Ubuntu'da (Linux) Memcached Nasıl Kurulur

memcached

Memcached, bilgileri geçici olarak belleğe kaydederek uygulamalarınızı hızlandırmak için kullanılabilecek ücretsiz ve açık kaynaklı bir önbellekleme sistemidir. Memcached, WordPress, Drupal, Joomla ve diğer PHP tabanlı uygulamalar gibi web uygulamalarını hızlandırmanıza yardımcı olur.

Bu yazıda, Ubuntu 18.04 sunucusuna Memcached uygulamasını nasıl yükleyeceğinizi açıklayacağız.

Sisteminizi Güncelleyin

İlk önce, aşağıdaki paketleri kullanarak tüm paketleri en son sürüme güncelleyin:

apt-get update -y
apt-get upgrade -y

Tüm paketler güncellendikten sonra, yapılandırma değişikliklerini uygulamak için sisteminizi yeniden başlatın.

reboot

Memcached Yükleme ve Yapılandırma

Varsayılan olarak, Memcached Ubuntu 18.04 varsayılan deposunda bulunur. Aşağıdaki komutu çalıştırarak kurabilirsiniz:

apt-get install memcached libmemcached-tools -y

Memcached'i yükledikten sonra Memcached hizmetini başlatın ve sistemin aşağıdaki komutla yeniden başlatılmasından sonra başlatılmasını sağlayın:

systemctl start memcached
systemctl enable memcached

Şimdi Memcached servisinin durumunu aşağıdaki komutla kontrol edebilirsiniz:

systemctl status memcached

? memcached.service - memcached daemon
   Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-07-13 06:13:59 UTC; 13s ago
     Docs: man:memcached(1)
 Main PID: 21776 (memcached)
    Tasks: 10 (limit: 1114)
   CGroup: /system.slice/memcached.service
           ??21776 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Jul 13 06:13:59 ubuntu1804 systemd[1]: Started memcached daemon.

Ayrıca Memcached servisinin çalışıp çalışmadığını da kontrol ederek şunu yazabilirsiniz:

ps aux | grep memcached

Aşağıdaki çıktıyı görmelisiniz:

memcache 21776  0.3  0.2 424764  2880 ?        Ssl  06:13   0:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root     22035  0.0  0.0  13136  1000 pts/0    S+   06:14   0:00 grep --color=auto memcached

Daha sonra, daha gelişmiş ayarlar için Memcached'i yapılandırmanız gerekecektir. Bunu yapmak için, /etc/memcached.conf dosyasını aşağıda gösterildiği gibi açın:

nano /etc/memcached.conf

Aşağıdaki satırları ihtiyacınıza göre değiştirin:

# Default connection port is 11211
-p 11211

# Specify which IP address to listen on.
-l 192.168.0.101
#Define the maximum number of Memory can be used by Memcached deamon.
-m 256

Dosyayı kaydedip kapatın ve ardından değişikliklerin uygulanabilmesi için Memcached services uygulamasını yeniden başlatın.

systemctl restart memcached

Apache ve PHP'yi Kur ve PHP'yi Memcached Kullanacak Şekilde Yapılandır
Memcached şimdi kuruldu ve yapılandırıldı. Ardından, Memcached'i kullanmak için Apache'yi kurmanız ve yapılandırmanız gerekecektir.

Öncelikle Apache ve PHP'yi aşağıdaki komutlarla diğer modüllerle kurun:

apt-get install apache2 php7.2 libapache2-mod-php7.2 php-memcached php7.2-cli -y

Yada sisteminizde Nginx server var ise;

PHP-FPM'i İlgili Nginx Memcached Modülleriyle Kurun

apt-get install php-fpm php-memcached php-cli -y

Yukarıdaki komutlar Memcached'in çalışması ve erişilebilir olması için gerekli PHP modüllerini kurar.

Nginx PHP site desteğini etkinleştirmek için, varsayılan site yapılandırma dosyasını açın ve PHP bloğunu etkinleştirin…

sudo nano /etc/nginx/sites-available/default

Sonra PHP bölümünü etkinleştirmek için yorumu kaldırın.

server {
	listen 80 default_server;
	listen [::]:80 default_server;
        ............
        ............

        index index.php index.html index.htm;

        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            #
            # # With php-fpm (or other unix sockets):
            fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;        #Ubuntu 17.10
          # fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;        #Ubuntu 17.04
           # # With php-cgi (or other tcp sockets):
           # fastcgi_pass 127.0.0.1:9000;
  }
  ..........

Yaoılandırmaları işvelsel hale getirebilmek için nginx yeniden başlatın

sudo systemctl reload nginx.service

Ardından, Memcached'i test etmek için Apache ve Nginx web kök dizininde örnek bir phpinfo.php dosyası oluşturun.

<? php 
phpinfo (); 
?>

Dosyayı kaydedin ve kapatın. Ardından web tarayıcınızı açın ve http: //server-ip/phpinfo.php URL adresini yazın . PHP ile ilgili tüm modülleri ve Memcached bilgilerini aşağıdaki sayfada görmelisiniz.

Bilgiler gözüküyor ise;
Tebrikler! Memcached'i Ubuntu 18.04 sunucusuna başarıyla yüklediniz. Daha fazla bilgi için Memcache Herhangi bir sorunuz varsa, sormaya çekinmeyin.

Mutlu Kodlamalar

Linux (Ubuntu, Debian) Server da PHP Composer Kurulumu

composer php

Giriş

PHP Composer, kullanıcı kimlik doğrulaması veya veritabanı yönetimi gibi yaygın olarak kullanılan web sitesi bileşenlerini, kontrol etmeye yarayan, kullanıcıların "tekerleği yeniden icat etmek" zorunda kalmasını engelleyen bir PHP paket yönetim sistemidir. Composer, Ruby's Bundler gibi diğer popüler paket yönetim sistemleri ile modellenmiştir.

Composer vs Pear

PEAR, PHP için ilk önemli paket yönetim sistemiydi. Ancak, PEAR son yıllarda geliştiricilerin lehine düşmüştür. PEAR'a dahil edilmek üzere onaylanmış paket alma zorluğu nedeniyle, PEAR aracılığıyla temin edilebilen paketlerin çoğu güncel değildir. PEAR ayrıca kullanıcıların sistem genelinde paket yüklemesini gerektirirken Composer, sistem genelinde veya proje bazında paketleri yüklemenizi sağlar. Composer ayrıca bağımlılıkları ele almada daha iyi olma eğilimindedir, daha geniş ve daha güncel bir kod tabanına sahiptir ve daha aktif bir şekilde sürdürülür.

Gereksinimler

Linux çalıştıran Sunucusu (Ubuntu , Debian)
PHP yüklü ve yapılandırılmış, sürüm 5.3.2 veya daha yüksek

PHP versiyonunuzu kontrol etmek için php -v komutunu kullanın:

PHP 7.0.28-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.28-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

Bu örnekte, sunucu PHP 7.0.28 sürümünü çalıştırıyor.

PHP Composer Kurulumu

Paketlerinizi güncelleyin:

sudo apt-get update

Yoksa eğer Curl yardımcı programını yükleyin:

sudo apt-get install curl

Composer indirin

sudo curl -s https://getcomposer.org/installer | php

composer.phar dosyasını taşıyın:

sudo mv composer.phar /usr/local/bin/composer

Yüklemeyi test etmek için composer komutunu kullanın. Composer doğru şekilde yüklendiyse, sunucu uzun bir yardım bilgileri ve komutları listesiyle yanıt verecektir:


/ ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.6.3 2018-01-31 16:28:17

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  about                         Shows the short information about Composer.
  archive                       Creates an archive of this composer package.
  browse                        Opens the package's repository URL or homepage in your browser.
  check-platform-reqs           Check that platform requirements are satisfied.
  clear-cache                   Clears composer's internal package cache.
  clearcache                    Clears composer's internal package cache.
  config                        Sets config options.
  create-project                Creates new project from a package into given directory.
  depends                       Shows which packages cause the given package to be installed.
  diagnose                      Diagnoses the system to identify common errors.
  drupal-phpunit-upgrade        Runs the drupal-phpunit-upgrade script as defined in composer.json.
  drupal-phpunit-upgrade-check  Runs the drupal-phpunit-upgrade-check script as defined in composer.json.
  dump-autoload                 Dumps the autoloader.
  dumpautoload                  Dumps the autoloader.
  exec                          Executes a vendored binary/script.
  global                        Allows running commands in the global composer dir ($COMPOSER_HOME).
  help                          Displays help for a command
  home                          Opens the package's repository URL or homepage in your browser.
  info                          Shows information about packages.
  init                          Creates a basic composer.json file in current directory.
  install                       Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses                      Shows information about licenses of dependencies.
  list                          Lists commands
  outdated                      Shows a list of installed packages that have updates available, including their latest version.
  phpcbf                        Runs the phpcbf script as defined in composer.json.
  phpcs                         Runs the phpcs script as defined in composer.json.
  prohibits                     Shows which packages prevent the given package from being installed.
  remove                        Removes a package from the require or require-dev.
  require                       Adds required packages to your composer.json and installs them.
  run-script                    Runs the scripts defined in composer.json.
  search                        Searches for packages.
  self-update                   Updates composer.phar to the latest version.
  selfupdate                    Updates composer.phar to the latest version.
  show                          Shows information about packages.
  status                        Shows a list of locally modified packages.
  suggests                      Shows package suggestions.
  update                        Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  upgrade                       Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate                      Validates a composer.json and composer.lock.
  why                           Shows which packages cause the given package to be installed.
  why-not                       Shows which packages prevent the given package from being installed.

Herşey tamamsa composer kurulumu tamamlanmış demektir. Drupal ve Composer kullanımı ile alakalı yazımıza göz atabilirsiniz.

Mutlu kodlamalar

Abone ol Linux