CentOS 7 Üzerinde Fatura Ninja Nasıl Kurulur

Giriş

Invoice Ninja, faturalama, ödemeler, zaman takibi ve daha fazlası için kullanılabilen ücretsiz ve açık kaynaklı bir web tabanlı uygulama yazılımıdır. Faturalama ve faturalandırma müşterileri için en iyi çözümdür. Birkaç saniyede kolayca fatura oluşturabilir ve çevrimiçi olarak gönderebilirsiniz. Invoice Ninja, kendi özel faturanızı oluşturmanıza ve canlı faturayı PDF dosyası olarak göstermenize olanak tanır.

Bu eğitimde, Invoice Ninja'yı CentOS 7 sunucusuna nasıl kuracağınızı açıklayacağım.

Ön şartlar

1. Adım: Sistemi güncelleyin

Bir CentOS sunucu örneğine herhangi bir paket kurmadan önce, sistemin güncellenmesi önerilir. Sudo kullanıcınız olarak SSH üzerinden sunucunuza giriş yapın ve aşağıdaki komutu çalıştırın:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Adım 2: LEMP Sunucusunu yükleyin.

Başlamadan önce, sunucunuza LEMP (Nginx, MariaDB ve PHP) kurmanız gerekir.

İlk olarak, aşağıdaki komutla Nginx ve MariaDB'yi yükleyin:

sudo yum install nginx mariadb-server -y

Kurulum tamamlandığında, Nginx ve MariaDB hizmetini başlatın ve önyüklemede başlamasını sağlayın:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb

Ardından, Invoice Ninja kurulumu için PHP7 ve PHP7.0-FPM'ye ihtiyacınız olacak.

İlk olarak, aşağıdaki komutla sisteme PHP7.0 deposunu ekleyin:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Ardından, aşağıdaki komutla PHP7.0-FPM ve diğer gerekli PHP uzantılarını yükleyin:

sudo yum install install php70w-fpm php70w-cli php70w-pear php70w-gd php70w-xml php70w-curl php70w-gmp php70w-pdo php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt -y

Yükleme tamamlandıktan sonra php.ini yapılandırma dosyasını değiştirmeniz gerekir:

sudo nano /etc/php.ini

Aşağıdaki satırı değiştirin:

cgi.fix_pathinfo=0

Dosyayı kaydedip kapatın.

3. Adım: Veritabanını Yapılandırma

Varsayılan olarak, MariaDB yüklemesi güvenli değildir, bu yüzden önce güvenliğinizi sağlamanız gerekir. Bunu mysql güvenli yükleme komut dosyasını çalıştırarak yapabilirsiniz :

sudo mysql_secure_installation

Tüm soruları aşağıda gösterildiği gibi cevaplayın:

Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Her şey tamamlandığında, aşağıdaki komutla MySQL kabuğuna bağlanın:

mysql -u root -p

Kök şifrenizi girin ve enter tuşuna basın, MySQL kabuğunu göreceksiniz:

Ardından, Invoice Ninja için yeni bir veritabanı ve yeni bir kullanıcı oluşturun:

MariaDB [(none)]> CREATE DATABASE ninja_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Adım 4: PHP-FPM'yi yapılandırma

Ardından, Nginx kullanıcısı için PHP-FPM havuzunu yapılandırmanız gerekecektir:

sudo nano /etc/php-fpm.d/www.conf

Aşağıdaki satırları değiştirin:

user = nginx
group = nginx
listen = /var/run/php/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

İşiniz bittiğinde dosyayı kaydedin ve kapatın.

Ardından, PHP oturumu ve soket dosyası için yeni bir dizin oluşturmanız gerekir:

sudo mkdir -p /var/lib/php/session
sudo mkdir -p /var/run/php/
sudo chown -R nginx:nginx /var/lib/php/session/
sudo chown -R nginx:nginx /var/run/php/

Son olarak, PHP7.0-FPM hizmetini başlatın ve önyükleme zamanında başlamak için ekleyin:

sudo systemctl start php-fpm
systemctl enable php-fpm

5. Adım: Fatura Ninja'yı İndirin ve Yapılandırın

GitHub deposundan Invoice Ninja'nın en son kararlı sürümünü aşağıdaki komutla indirebilirsiniz:

cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja

PHP (besteci) için Dependency Manager'ı da kurmanız gerekir. Aşağıdaki komutla yükleyebilirsiniz:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Ardından, aşağıda gösterildiği gibi composer komutunu kullanarak tüm Invoice Ninja bağımlılıklarını yükleyin:

cd /var/www/html/ninja
sudo composer install --no-dev -o

Yükleme tamamlandıktan sonra, .env dosyasını yeniden adlandırın ve bazı değişiklikler yapın:

sudo mv .env.example .env
sudo nano .env

Çizgileri aşağıda gösterildiği gibi değiştirin:

DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password

İşiniz bittiğinde dosyayı kaydedin, ardından veritabanını hazırlamak için aşağıdaki komutu çalıştırın:

sudo php artisan migrate

Komutu çalıştırmanız istenir, "evet" yazın ve "enter" tuşuna basın.

Ardından, veritabanını aşağıda gösterildiği gibi kayıtlarla tohumlayın:

sudo php artisan db:seed

"Evet" yazın ve "enter" tuşuna basın.

Ardından, /var/www/html/ninjadizinin sahipliğini değiştirin :

sudo chown -R nginx:nginx /var/www/html/ninja/

Adım 6: Fatura Ninja için Nginx'i Yapılandırma

Ardından, bir SSL Sertifikası oluşturmanız ve Invoice Ninja için yeni bir sanal ana bilgisayar yapılandırması oluşturmanız gerekir.

İlk olarak, SSL için bir dizin oluşturun:

sudo mkdir -p /etc/nginx/cert/

Ardından, aşağıdaki komutla bir SSL sertifikası oluşturun:

sudo openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key

Ardından, sertifika dosyasına uygun izin verin:

sudo chmod 600 /etc/nginx/cert/*

Ardından, / etc / nginx / dizininde yeni bir sanal ana bilgisayar yapılandırma dosyası oluşturun:

sudo nano /etc/nginx/conf.d/ninja.conf

Aşağıdaki satırları ekleyin:

server {
    listen  80;
    server_name 192.168.15.23;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    listen  443 default;
    server_name 192.168.15.23;
    ssl on;
    ssl_certificate     /etc/nginx/cert/ninja.crt;
    ssl_certificate_key /etc/nginx/cert/ninja.key;
    ssl_session_timeout 5m;
    ssl_ciphers  'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    root /var/www/html/ninja/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 and Error Log for Invoice Ninja
    access_log  /var/log/nginx/ininja.access.log;
    error_log   /var/log/nginx/ininja.error.log;

    sendfile off;

    # Handle PHP Applications
    location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_intercept_errors off;
    fastcgi_buffer_size 16k;
    fastcgi_buffers 4 16k;
    }

    location ~ /\.ht {
       deny all;
       }
    }

Dosyayı kaydedip kapatın ve Nginx web sunucusunu yeniden başlatın:

sudo systemctl restart nginx

Adım 7: Fatura Ninja'ya erişin

Invoice Ninja web arayüzüne erişmeden önce, firewalld aracılığıyla http ve https hizmetine izin vermeniz gerekecektir. Bağlantı noktalarını açmak için aşağıdaki komutları çalıştırın:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Son olarak, web tarayıcınızı açın ve URL'yi yazın https://192.168.15.23, ardından yüklemeyi tamamlamak için gerekli adımları tamamlayın.

Tebrikler! Centos 7 sunucusuna Nginx ve MariaDB ile Invoice Ninja'yı başarıyla yükledik.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.