cpleks kurulumu
cpleks, yönettiği sunucunun üzerine kurulur. O makinedeki web sunuculuğunu üstlendiği
için, başka bir yöntemle site barındıran bir sunucu yerine temiz bir sunucuyla başlayın. cpleks'in
kurduğu yazılımın adı cplex'tir: sunucudaki komutlarda, servislerde ve klasörlerde
göreceğiniz ad budur.
Panelin ekranları İngilizcedir. Bu kılavuz düğmelerin, alanların ve bölümlerin adlarını ekranda göründükleri gibi, İngilizce olarak yazar ve ne işe yaradıklarını Türkçe anlatır.
Neler gerekir
- amd64 (x86-64) ya da arm64 üzerinde, systemd ile çalışan Ubuntu 24.04 LTS, Ubuntu 26.04 LTS veya Debian 13 kurulu bir sunucu. Başka bir sürüm, sunucuya hiçbir şey yazılmadan önce adıyla birlikte reddedilir.
- SSH üzerinden root yetkisi (
sudo). - 80 ve 443 numaralı portlarda yanıt veren başka bir şeyin olmaması. cpleks siteleri nginx ile sunar; nginx'in kurulması gerekiyorsa ve bu portları başka bir web sunucusu tutuyorsa, kurulum durur ve hangisi olduğunu söyler.
- Lisans anahtarı isteğe bağlıdır. cpleks lisanssız da kurulur ve çalışır; lisans yalnızca panelin kendini güncelleyip güncelleyemeyeceğini belirler (bkz. Lisansınız).
PHP, veritabanı sunucuları, e-posta ve diğerleri kurulumun parçası değildir. Bunları daha sonra, Modüller ekranında kart kart eklersiniz.
Bir kurulum yöntemi seçin
Üç yöntem vardır ve üçü de sonunda sürümün içindeki aynı kurulum betiğini çalıştırır; hangisini seçerseniz seçin sonuç aynı makinedir. Güncel sürümün komutları ve dosyaları İndir sayfasındadır.
| Kurulum yöntemi | İçinde ne var | Neye ihtiyaç duyar |
|---|---|---|
| Tek satırlık çevrimiçi kurulum | Sürümü indiren kısa bir betik | İnternet erişimi; nginx ve birkaç araç eksikse Ubuntu'nun ya da Debian'ın kendi paket deposu |
cplex-<sürüm>.run |
amd64 ve arm64 için cpleks | Dağıtımın paket deposu; yalnızca nginx, acl, rsyslog ya da logrotate eksikse |
cplex-<sürüm>-ubuntu-<sürüm>-<mimari>-full.run |
Tek bir Ubuntu sürümü ve mimarisi için cpleks, nginx, acl ve bağımlılıkları | Hiçbir şey: ağ bağlantısı kesikken de kurulur |
Çevrimiçi kurulum betiği yayıncının açık anahtarını taşır. Sürümün imzalı listesini (manifest)
indirir, imzayı doğrular, sürüm arşivini bu listeyle karşılaştırır ve ancak ondan sonra bir şey
açar. Bir .run dosyası ise kendi içeriğini başlığındaki bir sağlama toplamıyla
karşılaştırır; bu, bozuk bir indirmeyi yakalar ama dosyayı kimin yayımladığını kanıtlayamaz.
Ağı olmayan bir makineye .run dosyası taşımadan önce SHA-256 değerini
(sha256sum) sürümün imzalı listesindeki o dosyanın satırıyla karşılaştırın.
Çevrimiçi kurulum
- Sunucuya bir SSH oturumu açın.
- İndir sayfasındaki komutu yapıştırın. Şu biçimdedir:
curl -fsSL <İndir sayfasındaki kurulum adresi> | sudo sh - Lisans anahtarınız zaten varsa onu bir dosyaya kaydedin (örneğin
/root/cpleks.key), dosyayısudo chmod 600 /root/cpleks.keyile yalnızca root'un okuyabileceği hâle getirin ve kurulum betiğine verin:
Kurulum, başka hesapların okuyabildiği bir anahtar dosyasını reddeder. Bu seçenek verilmezse ve terminalinize ulaşabiliyorsa, Licence key (press Enter to install without one; you can add it later in the panel) diye sorar: anahtarı yapıştırın ya da anahtarsız kurmak için Enter'a basın. Anahtar hiçbir zaman komut satırından alınmaz, çünkü bir sunucudaki her hesap başka bir işlemin komut satırını okuyabilir.curl -fsSL <kurulum adresi> | sudo sh -s -- --license-key-file /root/cpleks.key ==>ile başlayan satırları izleyin. Kurulum platformu denetler, eksikse nginx'i ve gereken birkaç aracı kurar, makinede zaten bulunan bir paketi kaldıracak her paket planını da hangi paket olduğunu söyleyerek ve hiçbir şeyi değiştirmeden reddeder.- Sonunda yazdırdığı raporu okuyun. Rapor bir kez yazılır ve ilk parolanın tek kopyası oradadır.
İki .run kurulumu da aynı şekilde çalışır: dosyayı sunucuya kopyalayın ve
sudo sh cplex-<sürüm>.run komutunu çalıştırın; anahtarınız varsa
--license-key-file ile, soru sorulmadan kurmak için --no-prompt ile.
Rapor size ne söyler
Aşağıdaki, bu kılavuzdaki ekran görüntülerinin alındığı test makinesinden gerçek bir raporun oturum açma bölümüdür; parola ve anahtar yerine noktalar konmuştur:
SIGN IN. This is the only time these are shown.
url https://<this host>:8443/
username admin
password ····················
The panel will ask you to change that password before it lets you do anything
else, and it should: the line above is in this terminal's scrollback, and on a
cloud instance that is the console log, which is readable through the
provider's API for as long as the instance exists.
api token cplx_····
- Parola tarayıcınız içindir ve tek bir işe yarar: yenisini seçmek (İlk giriş).
- API anahtarı (api token) otomasyon içindir ve 24 saatte geçerliliğini yitirir. Daha uzun ömürlü, yetkileri sınırlı anahtarları daha sonra panelde oluşturabilirsiniz.
- Açık portlar, gerçekten çalışan güvenlik duvarından okunur; örneğin
open: 22/tcp 53/tcp 80/tcp 443/tcp 2222/tcp 8443/tcp 53/udp. - Sunucu sıkılaştırma (host hardening): varsayılanı reddetmek olan bir
güvenlik duvarı, hesapların birbirinin işlemlerini izlemesini engelleyen çekirdek ayarları ve
oraya yüklenen hiçbir şeyin çalıştırılamayacağı biçimde bağlanmış bir
/tmp. SSH yapılandırmasına ve/etc/fstabdosyasına dokunulmaz. - Sertifikalar: yeni bir kurulum, siz üretime geçirene kadar sertifikaları Let's Encrypt'in hiçbir tarayıcının güvenmediği staging (deneme) hizmetinden alır. Bkz. Sertifikalar ve HTTPS.
Rapor, güvenlik duvarının ONAYLAMAZSANIZ KENDİNİ GERİ ALACAĞINI söylüyorsa (WILL REVERT ITSELF UNLESS YOU CONFIRM), yeni bir SSH bağlantısı açın (kurulumu yaptığınız bağlantı değil) ve şunu çalıştırın:
sudo -u cplex /usr/local/sbin/cplexctl harden confirm
Raporun belirttiği süre içinde (varsayılan olarak on dakika) kimse onaylamazsa önceki güvenlik duvarı kendiliğinden geri gelir; böylece sizi dışarıda bırakan bir kural kendini geri alır. Kurulum SSH'nin erişilebilir kalacağını kanıtlayabildiğinde güvenlik duvarını zamanlayıcı olmadan uygular ve bunu söyler.
Makinenin önündeki güvenlik duvarı
cpleks, sunucunun üzerindeki güvenlik duvarını yönetir. Bulut sağlayıcılarda genellikle bunun önünde bir güvenlik duvarı daha bulunur (örneğin bir AWS security group); cpleks onu ne görebilir ne değiştirebilir. Orada en azından şunlara izin verin:
- Panel için 8443/tcp, web siteleri için 80 ve 443/tcp, kendi SSH bağlantınız için 22/tcp.
- Müşterilerin SFTP bağlantısı için 2222/tcp (SFTP ve FTP).
- Bu sunucu alan adlarınız için DNS yanıtlayacaksa 53/tcp ve 53/udp.
- E-postayı açarsanız e-posta portları: 25, 143, 587 ve 993.
Bir şeyler ters giderse
- Yeniden çalıştırmak güvenlidir. Kurulum betiği tekrar çalıştırılabilir (idempotent): var olan yönetici, veritabanı ve TLS anahtar çifti korunur.
- Oturum açmadan önce parolayı kaybettiyseniz (kopan bir SSH oturumu, kapanan
bir terminal): SSH üzerinden yenisini belirleyin. Parola, komut satırında hiç görünmesin diye
bir ortam değişkeninden okunur:
CPLEX_PASSWORD='uzun yeni bir parola' sudo -u cplex --preserve-env=CPLEX_PASSWORD \ /usr/local/sbin/cplexctl passwd -user admin - Lisans kurulum sırasında etkinleşmediyse (ağ yok, anahtar zaten başka bir sunucuya bağlı): kurulum yine tamamlanır ve panel çalışır. Rapor bunu tek satırla söyler; etkinleştirmeyi daha sonra panelden yaparsınız.
Sıradaki: İlk giriş ve tek kullanımlık parola.