Eskiden JBoss olarak anılan WildFly, JBoss tarafından büyük ölçüde Java’da yazılan açık kaynaklı bir uygulama sunucusudur. Geliştirmenin arkasındaki şirket Red Hat’tir. WildFly, hem Java Platformunu hem de Enterprise Edition spesifikasyonunu uygular. Linux, Windows ve macOS dahil olmak üzere birden fazla platformda çalışabilir.
Sağlamlaştırılmış kurumsal düzeyde bir WildFly yapısına ihtiyacınız varsa JBoss Kurumsal Uygulama Platformunu düşünün. JBoss EAP aboneliğiyle Red Hat’in birinci sınıf desteğinin, uzun bakım döngülerinin ve özel içeriğin keyfini çıkarabilirsiniz. Ücretsiz 1 yıllık geliştirme lisansını indirmek için Red Hat’e kaydolabilirsiniz.
Bu yazımızda WildFly’ın (JBoss) Debian 12 (Bookworm) üzerinde kurulumu, konfigürasyonu ve temel kullanımına odaklanacağız. Bu makalenin yazıldığı an itibariyle Debian’ın en son kararlı sürümü Bookworm kod adıyla 12. sürümdür.
Adım 1: Java Development Kit’i (JDK) yükleyin
Java Geliştirme Kiti, Java Dil Belirtimi ve Java Sanal Makine Belirtimi’ni uygular ve Java Uygulama Programlama Arayüzünün Standart Sürümünü sağlar. Bu, WildFly uygulamalarını çalıştırmada önemli bir bağımlılıktır.
Yüklemeyi seçebiliriz;
- Install OpenJDK,veya
- Install Java SE Development Kit
Java’yı edinmenin en basit yolu, aşağıdaki komutları çalıştırarak OpenJDK’yi Debian sisteminize kurmaktır.
sudo apt update
sudo apt -y install default-jdk
Şu anda WildFly hem Java 17’yi hem de Java 11’i desteklemektedir. Sisteminizde yüklü olan sürümü doğrulayabilirsiniz.
$ java --version
openjdk 17.0.7 2023-04-18
OpenJDK Runtime Environment (build 17.0.7+7-Debian-1deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.7+7-Debian-1deb12u1, mixed mode, sharing)
Adım 2: WildFly tarball’ını indirin
Daha sonra Debian sisteminize kurulum için WildFly’ın arşivlenmiş dağıtımını indiriyoruz. Eğer wget sisteminizde yoksa terminalinizde aşağıdaki komutları çalıştırarak kurulabilir.
sudo apt install curl wget
Yazılımın en son sürümleri WildFly indirme sayfasında mevcuttur. Sağlanan komutlar en son sürümü çekmenizi sağlar.
WILDFLY_RELEASE=$(curl -s https://api.github.com/repos/wildfly/wildfly/releases/latest|grep tag_name|cut -d '"' -f 4)
wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}/wildfly-${WILDFLY_RELEASE}.tar.gz
İndirdikten sonra arşiv dosyasını çıkartın.
tar xvf wildfly-${WILDFLY_RELEASE}.tar.gz
WildFly’ın oluşturduğu klasörü /opt dizinine taşımalıyız.
sudo mv wildfly-${WILDFLY_RELEASE} /opt/wildfly
3. Adım: WildFly Systemd Ünitesini Yapılandırın
Servis yönetimini kolaylaştırmak için sistem birimi dosyası oluşturuyoruz. Wildfly sistem kullanıcısını ekleyerek başlayın:
sudo groupadd --system wildfly
sudo useradd -s /sbin/nologin --system -d /opt/wildfly -g wildfly wildfly
WildFly yapılandırma dizinini oluşturuyoruz.
sudo mkdir /etc/wildfly
WildFly sistemd hizmetini, yapılandırma dosyasını kopyalayın ve /opt/wildfly/docs/contrib/scripts/systemd/ dizininden komut dosyası şablonlarını başlatın.
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo chmod +x /opt/wildfly/bin/launch.sh
Aşağıdaki komutlarla /opt/wildfly izinlerini ayarlayın.
sudo chown -R wildfly:wildfly /opt/wildfly
Wildfly’a başlamadan önce systemd hizmetlerini yeniden yükleyin.
sudo systemctl daemon-reload
WildFly hizmetini başlatın ve etkinleştirin:
sudo systemctl start wildfly
sudo systemctl enable wildfly
WildFly Uygulama Sunucusu durumunu doğrulayın.
$ systemctl status wildfly
● wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; preset: enabled)
Active: active (running) since Fri 2023-06-30 21:26:57 UTC; 18s ago
Main PID: 3124 (launch.sh)
Tasks: 126 (limit: 4532)
Memory: 267.6M
CPU: 14.457s
CGroup: /system.slice/wildfly.service
├─3124 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
├─3126 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
└─3252 java "-D[Standalone]" -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.h>
Jun 30 21:26:57 deb12 systemd[1]: Started wildfly.service - The WildFly Application Server.
WildFly hizmeti 8080 numaralı bağlantı noktasını dinliyor.
$ ss -tunelp | grep 8080
tcp LISTEN 0 4096 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=3252,fd=488)) uid:999 ino:20878 sk:2 cgroup:/system.slice/wildfly.service <->
4. Adım: WildFly Kullanıcıları Oluşturma
WildFly, yönetim arayüzleri için güvenlik etkinleştirilmiş olarak gönderilir. WildFly yönetim konsoluna erişebilecek veya CLI’yi uzaktan kullanabilecek bir kullanıcı oluşturmamız gerekiyor. Kullanıcıları yönetmek için bir komut dosyası sağlanmıştır. İlk kullanıcıyı oluşturmak için aşağıdaki komutları çalıştırın:
sudo /opt/wildfly/bin/add-user.sh
Eklenecek kullanıcı türünü seçmeniz istenecektir. Bu ilk kullanıcı olduğundan onu yönetici yapmak istiyoruz. Öyleyse a’yı seçin.
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
Oluşturulacak kullanıcının adını girin.
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : computingforgeeks
Bu kullanıcı için güvenli parola oluşturun. Parola politikasıyla ilgili sağlanan rehberliğe bakın.
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
The password should be different from the username
The password should not be one of the following restricted values {root, admin, administrator}
The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password : <Enter Password>
Re-enter Password : <Confirm Password>
Enter tuşuna basın ve kullanıcı oluşturma işlemini tamamlamak için sonraki istemleri kabul edin.
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: <Enter>
About to add user 'computingforgeeks' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'computingforgeeks' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'computingforgeeks' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'computingforgeeks' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'computingforgeeks' with groups to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition
Şuna dikkat edin:
Kullanıcı bilgileri şu konumda tutulur: /opt/wildfly/domain/configuration/mgmt-users.propertiesGrup bilgileri şu konumda tutulur: /opt/wildfly/standalone/configuration/mgmt-groups.properties
5. Adım: WildFly yönetim konsoluna erişme
WildFly komut dosyalarını mevcut kabuk oturumunuzda çalıştırabilmek için $PATH’inize /opt/wildfly/bin/ ekleyin.
cat >> ~/.bashrc <<EOF
export WildFly_BIN="/opt/wildfly/bin/"
export PATH=\$PATH:\$WildFly_BIN
EOF
Bashrc dosyasını kaynaklayın.
source ~/.bashrc
jboss-cli.sh komutuyla CLI’den WildFly Yönetici Konsolu bağlantınızı doğrulayın.
$ jboss-cli.sh --connect
Authenticating against security realm: ManagementRealm
Username: computingforgeeks
Password:
[standalone@localhost:9990 /] version
JBoss Admin Command-line Interface
JBOSS_HOME: /opt/wildfly
Release: 20.0.2.Final
Product: WildFly Full 28.0.1.Final
JAVA_HOME: null
java.version: 17.0.7
java.vm.vendor: Debian
java.vm.version: 17.0.7+7-Debian-1deb12u1
os.name: Linux
os.version: 6.1.0-9-amd64
[standalone@localhost:9990 /] exit
WildFly Yönetici Konsoluna Web Arayüzünden Erişim
Varsayılan olarak konsola 9990 numaralı bağlantı noktasındaki localhost IP’sinden erişilebilir.
$ ss -tunelp | grep 9990
tcp LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=6769,fd=404)) uid:999 ino:30407 sk:3 <->
Yerel sunucunun dışından erişilebilen farklı bir IP adresi üzerinden başlatabiliriz. /opt/wildfly/bin/launch.sh dosyasını şu şekilde görünecek şekilde düzenleyin:
$ sudo vim /opt/wildfly/bin/launch.sh
#!/bin/bash
if [ "x$WILDFLY_HOME" = "x" ]; then
WILDFLY_HOME="/opt/wildfly"
fi
if [[ "$1" == "domain" ]]; then
$WILDFLY_HOME/bin/domain.sh -c $2 -b $3
else
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement=0.0.0.0
fi
Betik satırını başlatmak için -bmanagement=0.0.0.0 ekledik. Bu, “yönetim” arayüzünü mevcut tüm IP adreslerine bağlar.
Wildfly hizmetini yeniden başlat
sudo systemctl restart wildfly
Başarılı olduğunu doğrulamak için hizmet durumunu kontrol edin
systemctl status wildfly
9990 numaralı bağlantı noktasının dinlediğini doğrulayın:
$ ss -tunelp | grep 9990
tcp LISTEN 0 50 0.0.0.0:9990 0.0.0.0:* users:(("java",pid=3252,fd=482)) uid:999 ino:20877 sk:5 cgroup:/system.slice/wildfly.service <->
WildFly Web konsoluna erişmek için tarayıcınızı ve http://serverip:9990 URL’sini açın.

Kimlik doğrulamak için daha önce oluşturulan kullanıcı adını ve parolayı kullanın. WildFly konsolu gösterilecek bir sonraki pencere olacaktır.

Yazının orijinalini buradan okuyabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.