Öğretici: Azure Linux VM'sinde LAMP yığını yükleme

Şunlar için geçerlidir: ✔️ Linux VM'leri

Bu makalede, Azure’daki bir Ubuntu sanal makinesine Apache web sunucusunun, MySQL ve PHP’nin (LAMP yığını) nasıl dağıtılacağı gösterilmektedir. LAMP sunucusunu çalışır halde görmek için, isteğe bağlı olarak bir WordPress sitesi yükleyip yapılandırabilirsiniz. Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:

  • Ubuntu sanal makinesi oluşturma
  • Web trafiği için 80 numaralı bağlantı noktasını açın
  • Apache, MySQL ve PHP yükleme
  • Yükleme ve yapılandırmayı doğrulama
  • WordPress yükleme

Bu kurulum, hızlı testler veya kavram kanıtı içindir. Üretim ortamına yönelik öneriler de dahil olmak üzere, LAMP yığını hakkında daha fazla bilgi için Ubuntu belgelerine bakın.

Bu öğreticide Azure Cloud Shell içindeki CLI sürekli olarak en son sürüme güncelleştirilmektedir. Cloud Shell açmak için herhangi bir kod bloğunun üst kısmından Deneyin'i seçin.

CLI'yi yerel olarak yükleyip kullanmayı seçerseniz bu öğretici için Azure CLI 2.0.30 veya sonraki bir sürümünü kullanmanız gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Kaynak grubu oluşturma

az group create komutuyla bir kaynak grubu oluşturun. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.

Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur.

az group create --name myResourceGroup --location eastus

Sanal makine oluşturma

az vm create komutuyla bir sanal makine oluşturun.

Aşağıdaki örnek myVM adlı bir VM oluşturur ve varsayılan anahtar konumunda yoksa SSH anahtarları oluşturur. Belirli bir anahtar kümesini kullanmak için --ssh-key-value seçeneğini kullanın. Komut ayrıca azureuser yönetici kullanıcı adını belirler. Bu adı daha sonra VM'ye bağlanmak için kullanacaksınız.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

VM oluşturulduğunda Azure CLI, aşağıdaki örneğe benzer bilgiler gösterir. publicIpAddress değerini not edin. Sonraki adımlarda bu adres, VM’ye erişmek için kullanılır.

{
  "fqdns": "",
  "id": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Web trafiği için 80 numaralı bağlantı noktasını açın

Varsayılan olarak, Azure’a dağıtılmış Linux VM'lerde yalnızca SSH bağlantılarına izin verilir. Bu VM bir web sunucusu olacağı için, İnternet’ten 80 numaralı bağlantı noktasını açmanız gerekir. İstediğiniz bağlantı noktasını açmak için az vm open-port komutunu kullanın.

az vm open-port --port 80 --resource-group myResourceGroup --name myVM

Vm'nize bağlantı noktası açma hakkında daha fazla bilgi için bkz. Bağlantı noktalarını açma.

VM’ye SSH uygulama

VM'nizin genel IP adresini bilmiyorsanız az network public-ip list komutunu çalıştırın. Bu IP adresine sonraki adımlarda ihtiyacınız olacak.

az network public-ip list --resource-group myResourceGroup --query [].ipAddress

Sanal makine ile bir SSH oturumu oluşturmak için aşağıdaki komutu kullanın. Sanal makinenizin doğru genel IP adresi ile değiştirdiğinizden emin olun. Bu örnekte IP adresi 40.68.254.142’dir. azureuser, VM'yi oluşturduğunuzda belirlenen yönetici kullanıcı adıdır.

ssh azureuser@40.68.254.142

Apache, MySQL ve PHP yükleme

Ubuntu paket kaynaklarını güncelleştirmek ve Apache, MySQL ve PHP yüklemek için aşağıdaki komutu çalıştırın. lamp-server^ paket adının parçası olan, komutun sonundaki şapka karakterine (^) dikkat edin.

sudo apt update && sudo apt install lamp-server^

Paketleri ve diğer bağımlılıkları yüklemeniz istenir. Bu işlem, MySQL ile PHP kullanmak için gereken en düşük PHP uzantılarını yükler.

Apache'i doğrulama

Aşağıdaki komutla Apache sürümünü denetleyin:

apache2 -v

Apache yüklüyken ve sanal makinenizde 80 numaralı bağlantı noktası açıkken, web sunucusuna İnternet üzerinden erişilebilir. Apache2 Ubuntu Varsayılan Sayfasını görüntülemek için bir web tarayıcısı açın ve sanal makinenin genel IP adresini girin. Sanal makineye SSH oturumu açmak için kullandığınız genel IP adresini kullanın:

Apache varsayılan sayfası

MySQL'i doğrulama ve güvenliğini sağlama

Aşağıdaki komutla MySQL sürümünü denetleyin (ana V parametresini not edin):

mysql -V

Kök parola ayarlama da dahil olmak üzere MySQL yüklemesinin güvenliğini sağlamaya yardımcı olmak için betiği çalıştırın mysql_secure_installation .

sudo mysql_secure_installation

İsteğe bağlı olarak Parola Doğrulama Eklentisini ayarlayabilirsiniz (önerilir). Ardından, MySQL kök kullanıcısı için bir parola ayarlayın ve ortamınız için kalan güvenlik ayarlarını yapılandırın. Tüm sorulara "Y" (evet) yanıt vermenizi öneririz.

MySQL özelliklerini (MySQL veritabanı oluşturma, kullanıcı ekleme veya yapılandırma ayarlarını değiştirme) denemek istiyorsanız MySQL’de oturum açın. Bu öğreticiyi tamamlamak için bu adım gerekli değildir.

sudo mysql -u root -p

İşiniz bittiğinde, \q yazarak mysql isteminden çıkın.

PHP'leri doğrulama

Aşağıdaki komutla PHP sürümünü denetleyin:

php -v

Daha fazla test etmek istiyorsanız, tarayıcıda görüntülenecek bir hızlı PHP bilgi sayfası oluşturun. Aşağıdaki komut, PHP bilgi sayfasını oluşturur:

sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'

Artık oluşturduğunuz PHP bilgi sayfasını denetleyebilirsiniz. Bir tarayıcıyı açın ve http://yourPublicIPAddress/info.php adresine gidin. Sanal makinenizin genel IP adresini değiştirin. Şu görüntüye benzemelidir.

PHP bilgi sayfası

WordPress yükleme

Yığınınızı denemek istiyorsanız örnek bir uygulama yükleyin. Örneğin aşağıdaki adımları izleyerek açık kaynak web sitesi ve blog oluşturma platformu olan WordPress'i yükleyebilirsiniz. Drupal ve Moodle iş yüklerini de deneyebilirsiniz.

Bu WordPress kurulumu yalnızca kavram kanıtı amaçlıdır. En güncel WordPress sürümünü önerilen güvenlik ayarlarıyla üretim ortamına yüklemek için bkz. WordPress belgeleri.

WordPress paketi yükleme

Şu komutu çalıştırın:

sudo apt install wordpress

WordPress’i yapılandırma

WordPress'i MySQL ve PHP kullanacak şekilde yapılandırın.

Çalışma dizininde WordPress için MySQL veritabanını yapılandırmak için kullanacağınız wordpress.sql adlı bir metin dosyası oluşturun:

sudo sensible-editor wordpress.sql

Aşağıdaki komutları ekleyin ve yourPassword yerine istediğiniz veritabanı parolasını yazın (diğer değerleri değiştirmeyin). Daha önceden parola gücünü doğrulama amacıyla bir MySQL güvenlik ilkesi oluşturduysanız parolanın gereksinimlere uygun olduğundan emin olun. Dosyayı kaydedin.

CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourPassword';

Veritabanını oluşturmak için aşağıdaki komutu çalıştırın:

cat wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf

wordpress.sql dosyasında veritabanı kimlik bilgileri bulunduğu için kullandıktan sonra silin:

sudo rm wordpress.sql

PHP'yi yapılandırmak için aşağıdaki komutu çalıştırarak istediğiniz bir metin düzenleyiciyi açın ve /etc/wordpress/config-localhost.php dosyasını oluşturun:

sudo sensible-editor /etc/wordpress/config-localhost.php

Aşağıdaki satırları dosyaya kopyalayın ve yourPassword yerine WordPress veritabanı parolanızı yazın (diğer değerleri değiştirmeyin). Ardından dosyayı kaydedin.

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'yourPassword');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>

WordPress yüklemesini web sunucusunun belge kök dizinine taşıyın:

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

sudo mv /etc/wordpress/config-localhost.php /etc/wordpress/config-default.php

Şimdi WordPress kurulumunu tamamlayabilir ve platformda içerik yayımlayabilirsiniz. Bir tarayıcıyı açın ve http://yourPublicIPAddress/wordpress adresine gidin. Sanal makinenizin genel IP adresini değiştirin. Şu görüntüye benzemelidir.

WordPress yükleme sayfası

Sonraki adımlar

Bu öğreticide, Azure’da bir LAMP sunucusu dağıttınız. Şunları öğrendiniz:

  • Ubuntu sanal makinesi oluşturma
  • Web trafiği için 80 numaralı bağlantı noktasını açın
  • Apache, MySQL ve PHP yükleme
  • Yükleme ve yapılandırmayı doğrulama
  • LAMP sunucusuna WordPress yükleme

TLS/SSL sertifikaları ile web sunucularının güvenliğini sağlamayı öğrenmek için sonraki öğreticiye ilerleyin.