Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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'i 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, ortam değişkenlerini kullanarak bir kaynak grubu oluşturur ve benzersiz olduğundan emin olmak için rastgele bir sonek ekler.
export REGION="eastus2"
export RANDOM_SUFFIX="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myResourceGroup${RANDOM_SUFFIX}"
az group create --name "${MY_RESOURCE_GROUP_NAME}" --location $REGION
Sonuçlar:
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupxxxxx",
"location": "eastus",
"name": "myResourceGroupxxxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Sanal makine oluşturun
az vm create komutuyla bir sanal makine oluşturun.
Aşağıdaki örnek, ortam değişkenlerini kullanarak bir VM oluşturur.
MyVM adlı bir VM oluşturur ve varsayılan anahtar konumunda mevcut olmayan 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.
export MY_VM_NAME="myVM${RANDOM_SUFFIX}"
export IMAGE="Ubuntu2204"
export ADMIN_USERNAME="azureuser"
az vm create \
--resource-group "${MY_RESOURCE_GROUP_NAME}" \
--name $MY_VM_NAME \
--image $IMAGE \
--admin-username $ADMIN_USERNAME \
--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 "${MY_RESOURCE_GROUP_NAME}" --name $MY_VM_NAME
Vm'nizde bağlantı noktalarını 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.
export PUBLIC_IP=$(az network public-ip list --resource-group "${MY_RESOURCE_GROUP_NAME}" --query [].ipAddress -o tsv)
ssh Komutunu kullanarak sanal makineyle bir SSH oturumu oluşturun. Sanal makinenizin doğru genel IP adresi ile değiştirdiğinizden emin olun.
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.
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get -y 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:
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "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:
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):
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "mysql -V"
Kök parola ayarlama da dahil olmak üzere MySQL yüklemesinin güvenliğini sağlamaya yardımcı olmak için komutunu çalıştırabilirsiniz sudo mysql_secure_installation . Bu komut, MySQL yüklemenizin güvenliğini sağlamaya yardımcı olmak için sizden birkaç soruyu yanıtlamanızı ister.
İ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. Bunu yapmak için VM'nizde komutunu kullanabilir sudo mysql -u root -p ve istendiğinde kök parolanızı girebilirsiniz. Bu komut SSH aracılığıyla VM'nize bağlanır ve MySQL komut satırı istemcisini kök kullanıcı olarak başlatır.
İşiniz bittiğinde, \q yazarak mysql isteminden çıkın.
PHP'i doğrulama
Aşağıdaki komutla PHP sürümünü denetleyin:
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "php -v"
Daha fazla test etmek isterseniz, tarayıcıda görüntülemek için hızlı bir PHP bilgi sayfası oluşturabilirsiniz. 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.
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.
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.