Laravel Sail on Oracle Cloud

Herkese merhaba.

Bu yazımda belli limitler dahilinde ömür boyu ücretsiz olarak kullanılabilen Oracle cloud servisinden bahsedeceğim.

https://www.oracle.com/tr/cloud/free/

Yukardaki adresten kayıt olma aşamalarını tamamlayarak sisteme üye olabilirsiniz. Bu sistem sayesinde aşağıdaki özelliklere ücretsiz erişebiliyorsunuz.

Altyapı

Her biri 1/8 OCPU** ve 1 GB belleğe sahip 2 AMD tabanlı Compute sanal makinesi

Ayda 3.000 OCPU saati ve 18.000 GB saat ile 1 sanal makine veya en fazla 4 sanal makine olarak kullanılabilen Arm tabanlı Ampere A1 çekirdeği ve 24 GB bellek en fazla 4 sanal makine
(Ben bunu tercih ettim)

2 Blok Birim Depolama, toplam 200 GB

10 GB Nesne Depolama – Standart

10 GB Nesne Depolama – Seyrek Erişim

10 GB Arşiv Saklama
… ve daha fazlası

Sistemde bir VM oluşturma işini şu videodan izleyerek yapabilirsiniz

Tavsiyem Ubuntu 20.x sürümü olacaktır. Aşağıda paylaşacağım kodları .sh uzantılı bir dosyaya yazarak ve ssh ile sunucunuza yükledikten sonra çalıştırma iznini ayarlayarak çalıştırdığınızda, docker, php8 ve composer kurulumu sırasıyla yapılacak.

#!/bin/sh
# Reset
Color_Off='\033[0m'       # Text Reset

# Regular Colors
Black='\033[0;30m'        # Black
Red='\033[0;31m'          # Red
Green='\033[0;32m'        # Green
Yellow='\033[0;33m'       # Yellow
Blue='\033[0;34m'         # Blue
Purple='\033[0;35m'       # Purple
Cyan='\033[0;36m'         # Cyan
White='\033[0;37m'        # White


echo "${Yellow}Canonical-Ubuntu-20.04-aarch64-2022.08.15-0 Sürümü için oluşturulmuştur.$(tput sgr 0)"
echo "${Green}Docker kurulumu başlıyor$(tput sgr 0)"
sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg -y
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
sudo service docker start
sudo docker run hello-world

echo "${Green}Docker Compose kuruluyor$(tput sgr 0)"
sudo apt-get install docker-compose-plugin -y
docker compose version

echo "${Green}PHP 8 Kuruluyor$(tput sgr 0)"
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.1 -y
php --version

echo "${Green}PHP 8 Eklentileri yükleniyor$(tput sgr 0)"
sudo apt-get -y install php8.1-xml php8.1-curl php8.1-gd php8.1-zip php8.1-cli

echo "${Green}Composer Kuruluyor$(tput sgr 0)"
cd ~
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php -y
HASH=`curl -sS https://composer.github.io/installer.sig`
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer -y

echo "${Green}${USER} docker grubuna ekleniyor$(tput sgr 0)"
sudo usermod -aG docker ${USER}
sudo chmod 666 /var/run/docker.sock
sudo systemctl start docker


echo "${Green}IPTABLES güncelleniyor$(tput sgr 0)"
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 8080 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 3306 -j ACCEPT
sudo netfilter-persistent save

echo "${Green}Apache Kurulumu Temizleniyor$(tput sgr 0)"
sudo apt remove apache2 -y
sudo apt autoremove -y

echo "${Green}GitHub için SSH Key oluşturuluyor$(tput sgr 0)"
ssh-keygen -t rsa -b 4096 -C "Github Reposunun bulunduğu hesabın eposta adresi burada yazmalı."
cat ~/.ssh/id_rsa.pu

Bu sh dosyasına ekstra olarak nodejs 16 sürümünü kurmanız gerekmekte. Bunu da araştırarak kurulumunu yapabilirsiniz.

Kodun en sonunda ssh key oluşturup ekrana yazacak. Bu ssh keyi kaydederek github hesabımıza ssh keyimizi tanıtacağız bununla ilgili ayarları github hesabınızda yapabilirsiniz.

#!/bin/sh
# Reset
Color_Off='\033[0m'       # Text Reset

# Regular Colors
Black='\033[0;30m'        # Black
Red='\033[0;31m'          # Red
Green='\033[0;32m'        # Green
Yellow='\033[0;33m'       # Yellow
Blue='\033[0;34m'         # Blue
Purple='\033[0;35m'       # Purple
Cyan='\033[0;36m'         # Cyan
White='\033[0;37m'        # White

mkdir app
cd app
git clone git@github.com:REPONUZ/REPOADI.git
cd REPONUZ
cp .env.example .env
echo "${Red}.env dosyasında db bilgilerini güvenli olacak şekilde güncelleyin!$(tput sgr 0)"
sleep 5
nano .env
cd app/imc9
sudo chmod -R 777 bootstrap // Bu ayardan emin değilim.
mkdir bootstrap/cahce
composer install && composer update
npm install && npm update
./vendor/bin/sail up -d
./vendor/bin/sail npm run build

Yukarıdaki sh kodu sayesinde uygulamanızı github üzerinden ssh ile sunucuya çekmiş oldunuz.

Bazı noktaların detaylarını yazamadım. Genel olarak bu şekilde Laravel uygulamamı docker ve laravel sail ile oracle cloud sunucuda ayağa kaldırmış olduk. Testlerimizi geliştirmelerimizi burada yapabiliriz.

Eklemek ya da düzeltmek istediğiniz bir şeyler olursa yorum kısmından yazabilirsiniz.

İyi çalışmalar…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir