Ubuntu 16.04 Üzerine Fatura Ninja Nasıl Kurulur

Giriş

Invoice Ninja, faturalama, ödemeler, zaman takibi ve çok daha fazlası için kullanılabilen ücretsiz ve açık kaynaklı web tabanlı bir uygulamadı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, özel faturalar oluşturmanıza ve canlı faturaları PDF dosyası olarak göstermenize olanak tanır.

Bu derste, Invoice Ninja'yı Ubuntu 16.04 sunucusuna nasıl kuracağınızı açıklayacağım.

Ön şartlar

  • 2 GB RAM kurulu bir Ubuntu 16.04 sunucu örneği.
  • Kök ayrıcalıklarına sahip bir sudo kullanıcısı.
  • Sunucu örneğinizin ana IP'sini bilmeniz gerekir. Bu derste, kullanacağım 192.168.0.227.

1. Adım: Sistemi güncelleyin

Ubuntu sunucusu yönetim ortamına herhangi bir paket kurmadan önce sistemi güncellemeniz önerilir. Sudo kullanıcınız olarak SSH üzerinden sunucunuza giriş yapın ve aşağıdaki komutu çalıştırın:

sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now

Adım 2: LEMP yığınını yükleyin

Başlamadan önce, sunucunuzda bir LEMP (Nginx, MariaDB ve PHP) yığını yapılandırmanız gerekir.

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

sudo apt-get install nginx mariadb-server -y

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

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysql
sudo systemctl enable mysql

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

PHP-FPM ve diğer gerekli PHP uzantılarını aşağıdaki komutla kurabilirsiniz:

sudo apt-get install php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-curl php7.0-gmp php7.0-mbstring php7.0-mcrypt

Yükleme tamamlandığında, php.iniyapılandırma dosyasını değiştirmeniz gerekir :

sudo nano /etc/php/7.0/fpm/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ırın

Varsayılan olarak, MariaDB yüklemesi güvenli değildir. Güvenceye almanız gerekecek. Bunu çalıştırarak yapabilirsiniz mysql_secure_installation script.

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ğunu kullanarak bağlanın:

mysql -u root -p

Kök şifrenizi girin ve "enter" tuşuna basın, MySQL (MariaDB) kabuğunu göreceksiniz.

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

PHP-FPM havuzunu Nginx kullanıcısı için yapılandırın:

sudo nano /etc/php/7.0/fpm/pool.d/www-data.conf

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

[www-data]
user = www-data
group = www-data
listen = /var/run/php-fpm-www-data.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
pm.max_requests = 200
chdir = /

İşiniz bittiğinde dosyayı kaydedin ve kapatın, ardından bu değişiklikleri uygulamak için PHP-FPM'yi yeniden başlatın.

systemctl restart php7.0-fpm

5. Adım: Invoice Ninja'yı indirin ve yapılandırın

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

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

PHP için bir bağımlılık yöneticisi olan Composer'ı da kurmanız gerekir. Aşağıdaki komutla kurabilirsiniz:

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

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

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

Yükleme tamamlandıktan sonra .envdosyayı 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 www-data:www-data /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 gerekecektir.

İ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

Sertifika dosyasına uygun izinler verin.

sudo chmod 600 /etc/nginx/cert/*

/etc/nginx/Dizinin içinde 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.0.227;
    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    listen  443 default;
    server_name 192.168.0.227;
    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-fpm-www-data.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. Sonra sanal ana bilgisayarı aşağıdaki komutla etkinleştirin.

sudo ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/

Son olarak, 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, UFW güvenlik duvarı üzerinden HTTP ve HTTPS hizmetlerine izin vermeniz gerekecektir. Bu bağlantı noktalarını açmak için aşağıdaki komutları çalıştırın:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Son olarak, web tarayıcınızı açın ve URL'ye erişin https://192.168.0.227. Ardından, yüklemeyi tamamlamak için gerekli adımları tamamlayabilirsiniz.

Tebrikler! Ubuntu 16.04 sunucusuna Nginx ve MariaDB ile Invoice Ninja'yı başarıyla kurduk.



Leave a Comment

CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Debianda NFS Paylaşımı Ayarla

Debianda NFS Paylaşımı Ayarla

NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar

GitBucket Ubuntu 16.04 Kurulumu

GitBucket Ubuntu 16.04 Kurulumu

Bu kılavuz, Ubuntu 16.04 çalıştıran bir Vultr örneği için GitBucketin temel kurulumunu ve kurulumunu kapsar ve komutları şu şekilde yürüttüğünüzü varsayar:

Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme

Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Directus 6.4 CMS, geliştirici sağlayan güçlü ve esnek, ücretsiz ve açık kaynaklı Başsız İçerik Yönetim Sistemidir (CMS)

Ubuntu 16.04 Üzerine Mattermost 5.2 Kurulumu

Ubuntu 16.04 Üzerine Mattermost 5.2 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Mattermost, Slack SAAS mesajlaşma servisine açık kaynaklı, kendi kendine barındırılan bir alternatiftir. Başka bir deyişle, Mattermost ile,

Linuxta TeamTalk Sunucusu Kurma

Linuxta TeamTalk Sunucusu Kurma

TeamTalk, kullanıcıların yüksek kaliteli sesli / görüntülü konuşmalara, metin sohbetine, dosya aktarımına ve ekranları paylaşmasına olanak tanıyan bir konferans sistemidir. Ben

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

Kök olmayan kullanıcılara giriş yapmak için SSH anahtarınızı kullanma

Kök olmayan kullanıcılara giriş yapmak için SSH anahtarınızı kullanma

Vultr, yeni bir örnek oluşturduktan sonra SSH anahtarlarını önceden yüklemenizi sağlayan bir özellik sağlar. Bu, sunucu kök kullanıcısına erişmenizi sağlar, ancak

Debian 9da Diaspora ile Sosyal Ağınızı Kurun

Debian 9da Diaspora ile Sosyal Ağınızı Kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz

Debian 9 Üzerinde Yakıt CMS Kurulumu

Debian 9 Üzerinde Yakıt CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size

Arch Linux Üzerinde PostgreSQL 11.1 Kurulumu

Arch Linux Üzerinde PostgreSQL 11.1 Kurulumu

Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların önüne # ve bir

Ubuntu 16.10 Üzerinde Snipe-IT Kurulumu

Ubuntu 16.10 Üzerinde Snipe-IT Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Snipe-IT, BT varlık yönetimi için ücretsiz ve açık kaynaklı bir web uygulamasıdır. Laravel 5.2 çerçevesi ve kullanımı üzerine yazılmıştır.

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

Linuxta Ranger Terminal Dosya Yöneticisini Yükleme

Linuxta Ranger Terminal Dosya Yöneticisini Yükleme

Ranger, VI anahtar bağlamaları olan komut satırı tabanlı bir dosya yöneticisidir. Dizin hiyerarşisi manzaralı minimalist ve hoş bir curses arayüzü sağlar

Ubuntu 18.04 LTS Kaynaktan Brotli Nasıl Yapılır

Ubuntu 18.04 LTS Kaynaktan Brotli Nasıl Yapılır

Farklı Bir Sistem mi Kullanıyorsunuz? Brotli, GZIPden daha iyi bir sıkıştırma oranına sahip yeni bir sıkıştırma yöntemidir. Kaynak kodu bu Githuda herkese açık olarak barındırılıyor

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

Ubuntu 16.04 LAMBA VPS Üzerine Omeka Classic 2.4 CMS Kurulumu

Ubuntu 16.04 LAMBA VPS Üzerine Omeka Classic 2.4 CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Omeka Classic 2.4 CMS, digita paylaşımı için ücretsiz ve açık kaynaklı bir dijital yayıncılık platformu ve İçerik Yönetim Sistemidir (CMS)

Arch Linux Üzerinde Nginx 1.14 Kurulumu

Arch Linux Üzerinde Nginx 1.14 Kurulumu

Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların başına # işareti gelir. th

Linuxta SSH ile Kök Girişini Devre Dışı Bırakma veya Kısıtlama

Linuxta SSH ile Kök Girişini Devre Dışı Bırakma veya Kısıtlama

SSH üzerinden kök girişine izin vermek, teknoloji endüstrisinde genellikle zayıf bir güvenlik uygulaması olarak kabul edilir. Bunun yerine, hassas yönetim gerçekleştirebilirsiniz

Ubuntu 16.04 Üzerine RabbitMQ Kurulumu

Ubuntu 16.04 Üzerine RabbitMQ Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? RabbitMQ, Erlang programlama dilinde yazılmış, yaygın olarak kullanılan açık kaynaklı bir mesaj aracısıdır. Mesaj odaklı bir ara katman yazılımı olarak

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

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.

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.

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.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?