Nama : Qhomar Latif Praditya
10 Desember 2024
Install Ubuntu Server 20.04:
- Unduh dari Ubuntu Server.
- Saat instalasi, gunakan:
- Hostname:
mineshraft
. - IP:
192.168.40.210
.
Server Service
**Remote Access SSH Server (Secure Shell)**
**Reverse Proxy Server (NGINX)**
**Web Server (PHP)**
**Dependency Manager (Composer)**
**Database Server (MySQL))**
**Container Management (Docker)**
**Caching and Data Storage (Redis)**
**Game Server Control Panel Wings (Pterodactyl Server Control Panel)**
**File Sharing Server (Samba)**
21 Desember 2024
Mengaktifkan SSH di Ubuntu
Secara default, saat Ubuntu pertama kali diinstal, akses jarak jauh melalui SSH tidak diizinkan. Mengaktifkan SSH di Ubuntu cukup mudah. Lakukan langkah-langkah berikut sebagai root atau pengguna dengan menggunakan sudo untuk menginstal dan mengaktifkan SSH pada Ubuntu:
sudo apt update
sudo apt install openssh-server
Saat diminta, masukkan kata sandi Anda dan tekan Enter untuk melanjutkan instalasi.
Setelah instalasi selesai, layanan SSH akan mulai secara otomatis. Anda dapat memverifikasi bahwa SSH berjalan dengan mengetik:
sudo systemctl status ssh
Output akan memberi tahu Anda bahwa layanan sedang berjalan dan diaktifkan untuk memulai saat sistem melakukan boot:
â—Ź ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-12-21 15:13:16 CUTC; 27s ago
Tekan q untuk kembali ke prompt baris perintah.
Ubuntu dilengkapi dengan alat konfigurasi firewall yang disebut UFW. Jika firewall diaktifkan pada sistem Anda, pastikan untuk membuka port SSH:
sudo ufw allow ssh
Selesai! Kini Anda dapat terhubung ke sistem Ubuntu melalui SSH dari komputer jarak jauh mana pun. Sistem Linux dan macOS telah memasang klien SSH secara default. Untuk terhubung dari komputer Windows, gunakan klien SSH seperti PuTTY .
Menghubungkan ke Server SSH
Untuk terhubung ke mesin Ubuntu Anda melalui LAN, jalankan perintah ssh diikuti dengan nama pengguna dan alamat IP dalam format berikut:
ssh username@ip_address
Pastikan Anda mengganti usernamedengan nama pengguna sebenarnya dan ip_addressdengan Alamat IP mesin Ubuntu tempat Anda menginstal SSH. SSH memungkinkan akses jarak jauh ke server.
16 Desember 2024
Instalasi Depedency:
# Add "add-apt-repository" command
apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg
# Add additional repositories for PHP (Ubuntu 20.04 and Ubuntu 22.04)
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
# Add Redis official APT repository
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
# MariaDB repo setup script (Ubuntu 20.04)
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# Update repositories list
apt update
# Install Dependencies
apt -y install php8.3 php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server
Menginstall Composer
Composer adalah pengelola dependensi untuk PHP yang memungkinkan kita mengirimkan semua kode yang Anda perlukan untuk mengoperasikan Panel.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Mengunduh File
proses ini adalah membuat folder tempat panel akan berada, lalu memindahkannya ke folder yang baru dibuat tersebut.
mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
Setelah membuat direktori baru untuk Panel dan memindahkannya, Kita perlu mengunduh file Panel. Ini semudah mengunduh curlkonten yang telah dikemas sebelumnya. Setelah diunduh, perlu membongkar arsip dan kemudian menetapkan izin yang benar pada direktori storage/dan bootstrap/cache/. Direktori ini memungkinkan kita untuk menyimpan file serta menyediakan cache yang cepat untuk mengurangi waktu load.
curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
tar -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/
Instalasi
Setelah semua file sudah didownload, kita perlu mengkonfigurasi beberapa aspek inti panel Konfigurasi DataBase
Anda memerlukan pengaturan database dan pengguna dengan izin yang tepat yang dibuat untuk database tersebut.
# If using MySQL
mysql_secure_installation
mysql -u root -p
# Remember to change 'yourPassword' below to be a unique password
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'ptero123';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
exit
Pertama-tama kita akan menyalin default environment settings file kita, menginstal dependensi inti, dan kemudian membuat kunci enkripsi aplikasi baru.
cp .env.example .env
COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --optimize-autoloader
# Only run the command below if you are installing this Panel for
# the first time and do not have any Pterodactyl Panel data in the database.
php artisan key:generate --force
Konfigurasi Environment
php artisan p:environment:setup
php artisan p:environment:database
# To use PHP's internal mail sending (not recommended), select "mail". To use a
# custom SMTP server, select "smtp".
php artisan p:environment:mail
Database Setup
Sekarang kita perlu menyiapkan semua data dasar untuk Panel dalam database yang dibuat sebelumnya. Perintah di bawah ini mungkin memerlukan waktu untuk dijalankan. Harap JANGAN keluar dari proses hingga selesai! Perintah ini akan menyiapkan tabel database dan kemudian menambahkan semua Nests & Eggs untuk Pterodactyl.
php artisan migrate --seed --force
Menambahkan user
Selanjutnya, Kita perlu membuat administratif user agar dapat masuk ke panel. Untuk melakukannya, jalankan perintah di bawah ini. Saat ini, kata sandi harus memenuhi persyaratan berikut: 8 karakter, huruf besar dan kecil, minimal satu angka.
php artisan p:user:make
Set Permission
# If using NGINX, Apache or Caddy (not on RHEL / Rocky Linux / AlmaLinux)
chown -R www-data:www-data /var/www/pterodactyl/*
Konfigurasi Crontab
Hal pertama yang perlu kita lakukan adalah membuat cronjob baru yang berjalan setiap menit untuk memproses tugas-tugas Pterodactyl tertentu, seperti pembersihan sesi dan pengiriman tugas-tugas terjadwal ke daemon. Kita perlu membuka crontab Anda menggunakan sudo crontab -edan kemudian menempelkan baris di bawah ini
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
Creat Queue Worker
Selanjutnya Anda perlu membuat systemd worker baru untuk menjaga proses antrian tetap berjalan di latar belakang. Antrean ini bertanggung jawab untuk mengirim email dan menangani banyak tugas latar belakang lainnya untuk Pterodactyl.
Buat sebuah berkas dengan nama bash pteroq.service
pada bash /etc/systemd/system:
# Pterodactyl Queue Worker File
# ----------------------------------
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
# On some systems the user and group might be different.
# Some systems use `apache` or `nginx` as the user and group.
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
Jika menggunakan redis untuk sistem Anda, Anda perlu memastikan untuk mengaktifkannya agar dapat dimulai saat boot. Anda dapat melakukannya dengan menjalankan perintah berikut:
sudo systemctl enable --now redis-server
Terakhir, aktifkan layanan dan atur agar boot saat mesin dinyalakan.
sudo systemctl enable --now pteroq.service
Konfigurasi Web Server
Masuk ke direktori nginx
cd /etc/nginx/sites-enabled/default
lalu ubah konfigurasi pada file default
nano default
server {
# Replace the example <domain> with your domain name or IP address
listen 80;
server_name <domain>;
root /var/www/pterodactyl/public;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/pterodactyl.app-error.log error;
# allow larger file uploads and longer script runtimes
client_max_body_size 100m;
client_body_timeout 120s;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
location ~ /\.ht {
deny all;
}
}
Enabling Configuration
# You do not need to symlink this file if you are using RHEL, Rocky Linux, or AlmaLinux.
sudo ln -s /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/pterodactyl.conf
# You need to restart nginx regardless of OS.
sudo systemctl restart nginx
Menginstall Wings
Wings adalah server control plane generasi berikutnya dari Pterodacty. Sebelum menginsatll wings kita haru menginstall Docker.
Menginstall Docker
Untuk instalasi cepat Docker CE, Anda dapat menjalankan perintah di bawah ini:
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
Start Docker saat Booting
Jika Anda menggunakan sistem operasi dengan systemd (Ubuntu 16+, Debian 8+, CentOS 7+) jalankan perintah di bawah ini agar Docker dimulai saat Anda mem-boot komputer Anda.
sudo systemctl enable --now docker
Mengaktifkan Swap
GRUB_CMDLINE_LINUX_DEFAULT="swapaccount=1"
Konfigurasi GRUB
Beberapa distro Linux mungkin mengabaikan GRUB_CMDLINE_LINUX_DEFAULT. Oleh karena itu, Anda mungkin harus menggunakan . GRUB_CMDLINE_LINUXsebagai gantinya jika . default tidak berfungsi untuk Anda.
Menginstall Wings
Langkah pertama untuk menginstal Wings adalah memastikan kita memiliki pengaturan struktur direktori yang diperlukan. Untuk melakukannya, jalankan perintah di bawah ini, yang akan membuat direktori dasar dan mengunduh file yang dapat dieksekusi Wings.
sudo mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")"
sudo chmod u+x /usr/local/bin/wings
Konfigurasi
Setelah Anda memasang Wings dan komponen yang dibutuhkan, langkah selanjutnya adalah membuat node pada Panel yang telah Anda pasangBuka tampilan administratif Panel, pilih Nodes dari bilah sisi, dan di sisi kanan klik tombol Create New.
Setelah Anda membuat node, klik node tersebut dan akan muncul tab yang disebut Konfigurasi. Salin konten blok kode, tempel ke dalam file baru bernama config.ymlin /etc/pterodactyldan simpan.
jalankan Wings
Untuk memulai Wings, jalankan saja perintah di bawah ini, yang akan memulainya dalam mode debug. Setelah Anda memastikan bahwa Wings berjalan tanpa kesalahan, gunakan perintah CTRL+Cuntuk mengakhiri proses dan melakukan daemonisasi dengan mengikuti petunjuk di bawah ini. Bergantung pada koneksi internet server Anda.
sudo wings --debug
**Daemonizing(Menggunakan systemd)
Menjalankan Wings di backgroun merupakan tugas yang mudah, pastikan saja ia berjalan tanpa kesalahan sebelum melakukannya. Letakkan konfigurasi di bawah ini dalam sebuah file bernama wings.serviced pada /etc/systemd/system direktori.
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service
[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
Kemudian, jalankan perintah di bawah ini untuk memuat ulang systemd dan menjalankan Wings.
sudo systemctl enable --now wings
22 Desember 2024
Alokasi Node
Alokasi adalah kombinasi IP dan Port yang dapat Anda tetapkan ke server. Setiap server yang dibuat harus memiliki setidaknya satu alokasi. Alokasi akan menjadi alamat IP antarmuka jaringan Anda. Berikut Contoh membuat dan setting Alokasi Nodes > Konfiguration > Mmebuat Server > Server Panel
Jangan gunakan 127.0.0.1 untuk alokasi.
Setelah itu Kita harus membuat server minecraft nya, dengan cara klik menu server pada sidebar.
22 Desember 2024
File Sharing Server (Samba)
sudo apt update
sudo apt install samba -y
Sebelum melakukan Konfigurasi kita harus membuat username dan password Samba di Linux agar bisa diakses dari Windows.
Buat Username dan Password Samba
Pastikan user sudah ada di sistem Linux. Jika belum ada, buat user baru dengan perintah berikut (ganti sambauser dengan nama pengguna yang diinginkan):
sudo adduser praditya
Anda akan diminta membuat password untuk user tersebut. Tambahkan user tersebut ke Samba. Gunakan perintah berikut untuk menambahkan user Samba dan mengatur passwordnya:
sudo smbpasswd -a praditya
Anda akan diminta memasukkan password Samba untuk user tersebut. Aktifkan user Samba. Pastikan user Samba diaktifkan dengan perintah:
sudo smbpasswd -e praditya
Konfigurasi Direktori Berbagi
Buat direktori untuk berbagi file:
sudo mkdir -p /srv/samba/share
sudo chmod 777 /srv/samba/share
Tambahkan beberapa file sebagai contoh:
echo "Selamat datang di File Server" | sudo tee /srv/samba/share/welcome.txt
Edit Konfigurasi Samba
Buka file konfigurasi Samba:
sudo nano /etc/samba/smb.conf
Tambahkan konfigurasi berikut di bagian bawah file: ini
[Share]
path = /srv/samba/share
valid users = sambauser
read only = no
browsable = yes
create mask = 0660
directory mask = 0770
Simpan file dan keluar. lalu restart Samba
sudo systemctl restart smbd
Verifikasi dan Akses
Verifikasi Samba berjalan:
sudo systemctl status smbd
Akses Share dari Windows
Buka File Explorer di Windows. Masukkan alamat jaringan Samba di address bar: mathematica
\\IP_ADDRESS_LINUX\Share
Contoh: \\192.168.40.210\Share
Saat diminta Enter network credentials, masukkan:
Username: sambauser
Password: Password Samba yang Anda atur sebelumnya.
Centang "Remember my credentials" jika ingin menyimpan kredensial.
Plugins Agar Server Bisa menerima akses dari minecraft Java/Bedrock maupun yg minecraft bajakan, kita harus memasang plugins terlebih dahulu pada server pterodactyl tersebut.
Plugins Geyser-Spigot
https://geysermc.org/download/
Setelah selesai menginstall dan konfigurasi, kita sudah bisa menggunakan server tersebut.
Minecraft Tlauncher (Windows)
Minecraft (Android)