Bu makalede Docker ile Flarum kurulumu yapacağız. Bu daha hızlı ve daha çok ölçeklenebilir bir kurulum yöntemidir. Ancak Docker kullanmayı bilmek gerekiyor.
İlk olarak sunucuya Docker kurulumu ile başlayalım. Docker kurulumu için resmi belgelerden faydalanabilirsiniz.
Ubuntu sunucu için Docker Kurulumu
Aşağıdaki 64-bit Ubuntu sürümlerine Docker kurabilirsiniz.
- Ubuntu Groovy 20.10
- Ubuntu Focal 20.04 (LTS)
- Ubuntu Bionic 18.04 (LTS)
- Ubuntu Xenial 16.04 (LTS)
Ben Ubuntu 20.04 İçin Docker kurulumuna değineceğim.
Docker’in son sürümünü yüklemek için Ubuntu reposunu genişletelim. Aşağıdaki komutları satır satır tek tek olacak şekilde çalıştırın.
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
apt-cache policy docker-ce
Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki gibi bir çıktı almalısınız.
docker-ce:
Installed: (none)
Candidate: 5:19.03.9~3-0~ubuntu-focal
Version table:
5:19.03.9~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
Aşağıdaki komutu çalıştırarak Docker kurulumunu başlatabiliriz.
sudo apt install docker-ce
Docker’de Flarum Kurulumu
Bu yöntem ile Flarum Beta 15, PHP 7.4 ve MariaDB 10.5 kurulumu gerçekleşmiş olacak.
Flarum görüntüsünü almak için:
docker pull mondedie/flarum:latest
Docker-compose.yml oluşturma
nano docker-compose.yml
komutu ile dosyamızı oluşturalım ve içini aşağıdakiler ile dolduralım.
version: "3"
services:
flarum:
image: mondedie/flarum:stable
container_name: flarum
env_file:
- /mnt/docker/flarum/flarum.env
volumes:
- /mnt/docker/flarum/assets:/flarum/app/public/assets
- /mnt/docker/flarum/extensions:/flarum/app/extensions
- /mnt/docker/flarum/nginx:/etc/nginx/flarum
ports:
- 80:8888
depends_on:
- mariadb
mariadb:
image: mariadb:10.5
container_name: mariadb
environment:
- MYSQL_ROOT_PASSWORD=xxxxxxxxxx
- MYSQL_DATABASE=flarum
- MYSQL_USER=flarum
- MYSQL_PASSWORD=xxxxxxxxxx
volumes:
- /mnt/docker/mysql/db:/var/lib/mysql
XXXXXX ile belirtilen yerleri kafanıza göre doldurun.
Şimdi /mnt/docker/flarum/
dizinine flarum.env
adında bir dosya oluşturup içini aşağıdakiler ikle dolduralım.
Dosyayı oluşturmak için:
vi /mnt/docker/flarum/flarum.env
İçine aşağıdakileri yapıştırın xxxxxx olan yerlere dikkat edin ve alan adınızı eklemeyi unutmayın.
DEBUG=false
FORUM_URL=http://domain.tld
# Database configuration
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=xxxxxxxxxx
DB_PREF=flarum_
DB_PORT=3306
# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=xxxxxxxxxx
FLARUM_ADMIN_MAIL=admin@domain.tld
FLARUM_TITLE=Test flarum
Artık Docker görüntümüzü çalıştırabiliriz.
İlk olrak MariaDB çalıştıralım
docker-compose up -d mariadb
Şimdi Flarum’u başlatabiliriz.
docker-compose up -d flarum
Bu adımın ardından tarayıcınızda alan adaınıza gittiğinizde Flarum anasayfasını görüyor olmalısınız.
Yeni bir PHP uzantısı ekleme
Varsayılan görüntüde Flarum için gerekli eklentiler yüklü olarak gelmektedir. Ancak daha sonradan kendiniz bir PHP uzantısı kurmak isterseniz;
version: "3"
services:
flarum:
image: mondedie/flarum:stable
container_name: flarum
environment:
- PHP_EXTENSIONS=gmp session brotli
volumes:
- /mnt/docker/flarum/assets:/flarum/app/public/assets
- /mnt/docker/flarum/extensions:/flarum/app/extensions
- /mnt/docker/flarum/nginx:/etc/nginx/flarum
Bu satıra istediğiniz PHP uzantısını yuazarak yükleyebilirsiniz. - PHP_EXTENSIONS=gmp session brotli
Yeni eklenti yükleme
Yeni eklenti yüklemek için aşağıdaki komutta ilgili yeri düzenlemiz yeterli
docker exec -ti flarum extension require eklenti-yazari/eklenti-adi
Örneğin FOF Polls için
docker exec -ti flarum extension require fof/polls
Eklenti kaldırma
docker exec -ti flarum extension remove eklenti-yazari/eklenti-adi
Yüklü tüm eklentileri görme
docker exec -ti flarum extension list
Bu yöntemi ile test amaçlı kendim Flarum kurdum.
Kaynak: https://github.com/mondediefr/docker-flarum