Възходът на машините: Реални приложения на AI
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Invoice Ninja е безплатен софтуер за уеб-бази с отворен код, който може да се използва за фактуриране, плащания, проследяване на времето и много други. Това е най-доброто решение за фактуриране и фактуриране на клиенти. Можете лесно да създавате и изпращате фактури онлайн за секунди. Invoice Ninja ви позволява да създадете своя собствена персонализирана фактура и да покажете фактура на живо като PDF файл.
В този урок ще ви обясня как да инсталирате Invoice Ninja на сървъра CentOS 7.
Преди да инсталирате пакети на сървър на CentOS, се препоръчва да актуализирате системата. Влезте във вашия сървър чрез SSH като вашия sudo потребител и изпълнете следната команда:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Преди да започнете, ще трябва да инсталирате LEMP (Nginx, MariaDB и PHP) на вашия сървър.
Първо, инсталирайте Nginx и MariaDB със следната команда:
sudo yum install nginx mariadb-server -y
След като инсталацията приключи, стартирайте услугата Nginx и MariaDB и им позволете да стартират при зареждане:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb
След това ще ви трябват PHP7 и PHP7.0-FPM за инсталацията на Invoice Ninja.
Първо, добавете хранилището PHP7.0 към системата със следната команда:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
След това инсталирайте PHP7.0-FPM и други необходими PHP разширения със следната команда:
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
След като инсталацията приключи, ще трябва да промените конфигурационния файл php.ini:
sudo nano /etc/php.ini
Променете следния ред:
cgi.fix_pathinfo=0
Запазете и затворете файла.
По подразбиране инсталацията на MariaDB не е защитена, така че първо ще трябва да я защитите. Можете да направите това, като изпълните скрипт за защитена инсталация на mysql :
sudo mysql_secure_installation
Отговорете на всички въпроси, както е показано по-долу:
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
Когато всичко е готово, свържете се с MySQL shell със следната команда:
mysql -u root -p
Въведете вашата root парола и натиснете enter, ще видите обвивката на MySQL:
След това създайте нова база данни и нов потребител за Invoice Ninja:
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
След това ще трябва да конфигурирате PHP-FPM пул за потребител на Nginx:
sudo nano /etc/php-fpm.d/www.conf
Променете следните редове:
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
Запазете и затворете файла, когато приключите.
След това ще трябва да създадете нова директория за PHP сесия и файл на сокет:
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/
Накрая стартирайте услугата PHP7.0-FPM и я добавете, за да стартирате при стартиране:
sudo systemctl start php-fpm
systemctl enable php-fpm
Можете да изтеглите най-новата стабилна версия на Invoice Ninja от хранилището на GitHub със следната команда:
cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja
Ще трябва също да инсталирате Dependency Manager за PHP (композитор). Можете да го инсталирате със следната команда:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
След това инсталирайте всички зависимости на Invoice Ninja, като използвате командата composer, както е показано по-долу:
cd /var/www/html/ninja
sudo composer install --no-dev -o
След като инсталацията приключи, преименувайте файла .env и направете някои промени:
sudo mv .env.example .env
sudo nano .env
Променете редовете, както е показано по-долу:
DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password
Запазете файла, когато сте готови, след което изпълнете следната команда, за да подготвите базата данни:
sudo php artisan migrate
Ще бъдете подканени да изпълните командата, въведете "да" и натиснете "enter".
След това заредете базата данни със записи, както е показано по-долу:
sudo php artisan db:seed
Въведете "да" и натиснете "enter".
След това променете собствеността на /var/www/html/ninjaдиректорията:
sudo chown -R nginx:nginx /var/www/html/ninja/
След това ще трябва да създадете SSL сертификат и да създадете нова конфигурация на виртуален хост за Invoice Ninja.
Първо, създайте директория за SSL:
sudo mkdir -p /etc/nginx/cert/
След това генерирайте SSL сертификат със следната команда:
sudo openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key
След това дайте правилно разрешение на файла със сертификат:
sudo chmod 600 /etc/nginx/cert/*
След това създайте нов конфигурационен файл за виртуален хост в директорията /etc/nginx/:
sudo nano /etc/nginx/conf.d/ninja.conf
Добавете следните редове:
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;
}
}
Запазете и затворете файла и рестартирайте уеб сървъра на Nginx:
sudo systemctl restart nginx
Преди да получите достъп до уеб интерфейса на Invoice Ninja, ще трябва да разрешите http и https услуга чрез firewalld. Изпълнете командите по-долу, за да отворите портовете:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Накрая отворете вашия уеб браузър и въведете URL адреса https://192.168.15.23, след което изпълнете необходимите стъпки, за да завършите инсталацията.
Честито! успешно инсталирахме Invoice Ninja с Nginx и MariaDB на сървъра CentOS 7.
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече