Son güncelleme A domain ordered with hosting is checked, priced and registered

PNLCS'i çalıştırın

PNLCS bir Laravel uygulamasıdır. PHP 8.4, MySQL ya da MariaDB ve bir web sunucusu bulunan her yerde çalışır. Önce etrafa göz atmak isterseniz canlı demo gerçek bir kurulumdur.

Docker Hub'daki resmî imaj
docker pull panelica/pnlcs-runtime

Üç kurulum yolu

YolEn uygun olduğu durumSüreRehber
DockerPNLCS'i denemek ya da tek bir container olarak çalıştırmakYaklaşık 5 dakikaKomutlar
Kendi sunucunuzDocker'sız bir VPS ya da dedicated sunucu: Ubuntu, Debian, AlmaLinux veya Rocky LinuxYaklaşık 30 dakikaKomutlar
Bir hosting paneli içindeZaten Panelica, cPanel ya da benzeri çalıştıran bir sunucuYaklaşık 20 dakikaRehber

Docker ile hızlı başlangıç

Resmî imaj PHP-FPM 8.4, nginx, Node.js 20 ve supervisor içerir; ilk açılışta en güncel kodu indirir.

  1. Container'ları başlatınÖnce changeme değerlerini kendi şifrelerinizle değiştirin.
  2. 3 ila 5 dakika bekleyinİlk açılışta bağımlılıklar kurulur ve frontend derlenir.
  3. /install adresini açınSihirbaz gereksinimleri kontrol eder, yönetici hesabınızı oluşturur ve ardından kendini kilitler.
Terminal
$ docker network create pnlcs-net

$ docker run -d --name pnlcs-db --network pnlcs-net \
  -e MYSQL_ROOT_PASSWORD=changeme \
  -e MYSQL_DATABASE=pnlcs -e MYSQL_USER=pnlcs \
  -e MYSQL_PASSWORD=changeme \
  mariadb:11

$ docker run -d --name pnlcs --network pnlcs-net \
  -p 8090:80 \
  -e DB_HOST=pnlcs-db -e DB_DATABASE=pnlcs \
  -e DB_USERNAME=pnlcs -e DB_PASSWORD=changeme \
  -e APP_URL=http://localhost:8090 \
  panelica/pnlcs-runtime:1.4

Docker olmadan kendi sunucunuza kurulum

PNLCS, PHP-FPM 8.4, MySQL ya da MariaDB ve Nginx üzerinde normal bir Laravel uygulaması olarak çalışır. Aşağıdaki komutlar Ubuntu 24.04, Debian 13 ve AlmaLinux 9 içindir; Rocky Linux 9'da AlmaLinux komutları kullanılır. Komutlardaki example.com adresini kendi adresinizle değiştirin.

Tam rehber
  1. Sunucuyu hazırlayın

    Eklentileriyle birlikte PHP 8.4, bir veritabanı, Nginx, arayüzü derlemek için Node.js 20 ve Composer. Bunlar zaten kuruluysa bu adımı atlayın.

    Ubuntu 24.04 PHP 8.3 ile gelir, bu yüzden PHP 8.4 ondrej PPA'sından kurulur. Debian 13 PHP 8.4'ü kendi depolarında sunar, MySQL yerine MariaDB ile gelir ve php8.4-imap paketi yoktur. AlmaLinux ve Rocky'de PHP 8.4 Remi deposundan gelir.

    Terminal
    $ sudo apt update
    $ sudo apt install -y software-properties-common git unzip curl cron
    $ sudo add-apt-repository -y ppa:ondrej/php
    $ sudo apt update
    $ sudo apt install -y php8.4-fpm php8.4-cli php8.4-mysql php8.4-mbstring \
      php8.4-xml php8.4-curl php8.4-zip php8.4-gd php8.4-bcmath php8.4-intl php8.4-imap
    $ sudo apt install -y mysql-server nginx
    
    $ curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    $ sudo apt install -y nodejs
    
    $ curl -sS https://getcomposer.org/installer | php
    $ sudo mv composer.phar /usr/local/bin/composer
  2. Uygulamayı kurun

    PNLCS dizini web sunucusu kullanıcısına aittir ve her composer, artisan ve npm komutu bu kullanıcıyla çalıştırılır. pn yardımcısı bunu sizin yerinize yapar. Dizin root kullanıcısına aitse kurulum sihirbazı ve sonraki güncellemeler başarısız olur.

    Tek bir veritabanı şifresi seçin ve bunu hem CREATE USER komutunda hem de .env satırında kullanın. pn yardımcısı yalnızca geçerli kabuk oturumu boyunca tanımlı kalır; yeniden giriş yaptıktan sonra onu tekrar tanımlayın.

    Şu komutu çalıştırmayın: db:seed. Kurulum sihirbazı veritabanına başlangıç verilerini yükler ve seçtiğiniz yöneticiyi oluşturur.

    Terminal
    $ sudo git clone https://github.com/Panelica/pnlcs.git /var/www/pnlcs
    $ sudo chown -R www-data:www-data /var/www/pnlcs
    $ cd /var/www/pnlcs
    $ pn() { sudo -u www-data HOME=/tmp/pnlcs-home COMPOSER_HOME=/tmp/pnlcs-home/composer "$@"; }
    
    $ pn composer install --no-dev --optimize-autoloader --no-interaction
    
    $ sudo mysql -e "CREATE DATABASE pnlcs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      CREATE USER 'pnlcs'@'localhost' IDENTIFIED BY 'choose-a-strong-password';
      GRANT ALL PRIVILEGES ON pnlcs.* TO 'pnlcs'@'localhost'; FLUSH PRIVILEGES;"
    
    $ pn cp .env.example .env
    $ pn sed -i 's|^APP_URL=.*|APP_URL=http://example.com|; s|^DB_PASSWORD=.*|DB_PASSWORD=choose-a-strong-password|' .env
    $ sudo chmod 640 .env
    
    $ pn php artisan key:generate
    $ pn php artisan migrate --force
    $ pn npm ci
    $ pn npm run build
    $ pn php artisan storage:link
    $ pn php artisan optimize
  3. Nginx'i public/ dizinine yönlendirin

    Belge kök dizini public/ dizinidir, asla proje kök dizini değildir, çünkü proje kök dizininde şu dosya bulunur: .env. Varsayılan siteyi kaldırın; aksi halde sunucunun adresi Nginx karşılama sayfasını göstermeye devam eder.

    Apache ve Caddy de aynı kurallarla çalışır: belge kök dizini public/, PHP için PHP-FPM 8.4 ve dosya olmayan her istek şuraya yönlendirilir: index.php.

    Terminal
    $ sudo tee /etc/nginx/sites-available/pnlcs > /dev/null <<'EOF'
    server {
        listen 80;
        server_name example.com;
        root /var/www/pnlcs/public;
        index index.php;
        charset utf-8;
        client_max_body_size 64M;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php8.4-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            include fastcgi_params;
        }
        location ~ /\.(?!well-known).* { deny all; }
    }
    EOF
    $ sudo ln -s /etc/nginx/sites-available/pnlcs /etc/nginx/sites-enabled/
    $ sudo rm -f /etc/nginx/sites-enabled/default
    $ sudo nginx -t && sudo systemctl reload nginx
  4. Tarayıcıda tamamlayın, ardından zamanlamayı ve güvenliği ayarlayın

    Tarayıcıda şu adresi açın: http://example.com/install. Sihirbaz gereksinimleri kontrol eder, yöneticinizi oluşturur ve ardından kendini kapatır.

    Web sunucusu kullanıcısı için tek bir cron satırı faturaları, hatırlatmaları, askıya almaları, SSL kontrollerini ve yedeklemeleri yürütür. Kuyruğa alınan işler için ayrı bir worker gerekmez; aynı cron satırı onları da işler.

    Terminal
    $ cd /var/www/pnlcs
    $ WEB_USER=www-data   # AlmaLinux, Rocky: apache
    $ (sudo crontab -u $WEB_USER -l 2>/dev/null; echo '* * * * * cd /var/www/pnlcs && php artisan schedule:run >> /dev/null 2>&1') | sudo crontab -u $WEB_USER -
    
    $ sudo apt install -y certbot python3-certbot-nginx   # Ubuntu, Debian
    $ sudo certbot --nginx -d example.com
    $ pn sed -i 's|^APP_URL=http://|APP_URL=https://|' .env
    $ pn php artisan optimize

Gereksinimler

Küçük bir kurulum, veritabanı aynı makinedeyken 2 GB bellekle rahatça çalışır.

Tüm gereksinimler

PHP8.4 ya da daha yeni
VeritabanıMySQL 8.0 ya da MariaDB 10.6+
Web sunucusuPHP-FPM ile Nginx ya da Apache
Node.js18+ (20 LTS önerilir), yalnızca frontend'i derlemek için
Composer2.x
BellekKüçük bir kurulum için 1 GB yeterli; 2 GB rahat
DiskUygulama için yaklaşık 130 MB; veriler büyüdükçe en az 2 GB boş alan bırakın

Kurulumdan sonra