Kan AI vechten met toenemend aantal ransomware-aanvallen?
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
Redmine is een gratis en open source, webgebaseerde tool voor projectbeheer. Het is geschreven in Ruby on Rails en ondersteunt meerdere databaseservers voor het opslaan van de database. Het is een veelzijdige applicatie die meerdere projecten ondersteunt, een op rollen gebaseerde ACL en een probleemopsporingssysteem. Het heeft ook Gantt-diagram- en kalenderondersteuning, bestandsbeheer, per projectwiki en -forum, evenals vele andere functies. Het ondersteunt versiebeheersystemen zoals Git, SVN of CVS. Het is ook meertalig en ondersteunt maar liefst 49 talen.
Deze gids is geschreven voor Redmine 3.4.4, maar kan ook van toepassing zijn op nieuwere versies.
Voor deze tutorial zullen we gebruiken 192.168.1.1
als het openbare IP-adres en redmine.example.com
als de domeinnaam die naar de Vultr-instantie verwijst. Zorg ervoor dat u alle exemplaren van de voorbeelddomeinnaam en het IP-adres vervangt door de werkelijke.
Update uw basissysteem met behulp van de handleiding CentOS 7 updaten . Zodra uw systeem is bijgewerkt, gaat u verder met het installeren van de afhankelijkheden.
Redmine is geschreven in Ruby on Rails, dus we hebben Phusion Passenger nodig om te integreren met de Apache-webserver om de applicatie te bedienen. Installeer Apache.
sudo yum -y install httpd httpd-devel libcurl-devel
Om de Redmine-applicatie te bouwen, hebben we ook enkele ontwikkeltools nodig. Installeer de benodigde tools.
sudo yum -y install ImageMagick ImageMagick-devel git libxml2-devel libxslt-devel gcc bzip2 openssl-devel zlib-devel gdbm-devel ncurses-devel autoconf automake bison gcc-c++ libffi-devel libtool patch readline-devel sqlite-devel glibc-headers glibc-devel libyaml-devel libicu-devel libidn-devel
Redmine ondersteunt meerdere soorten databaseservers zoals MySQL, PostgreSQL en MSSQL. In deze tutorial gebruiken we PostgreSQL om de Redmine-databaseserver te hosten.
PostgreSQL is een object-relationeel databasesysteem. De standaardrepository yum
bevat een oude versie van PostgreSQL, dus voeg de PostgreSQL-repository toe aan het systeem.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Installeer de PostgreSQL-databaseserver.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Initialiseer de database.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Start de PostgreSQL-server en schakel deze in om automatisch te starten tijdens het opstarten.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Wijzig het wachtwoord voor de standaard PostgreSQL-gebruiker.
sudo passwd postgres
Log in als de PostgreSQL-gebruiker.
sudo su - postgres
Maak een nieuwe PostgreSQL-gebruiker voor Redmine.
createuser redmine
U mag elke gebruikersnaam gebruiken in plaats van redmine
. PostgreSQL biedt de psql
shell om query's op de database uit te voeren. Schakel over naar de PostgreSQL-shell.
psql
Stel een wachtwoord in voor de nieuw aangemaakte gebruiker voor de Redmine-database.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
Vervang DBPassword
door een veilig wachtwoord. Maak een nieuwe database voor de Redmine-installatie.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Verlaat de psql
schelp.
\q
Schakel over naar de sudo
gebruiker.
exit
Bewerk het pg_hba.conf
bestand om op MD5 gebaseerde authenticatie in te schakelen.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Zoek de volgende regels en wijzig de waarden peer
en ident
in de METHOD
kolom naar trust
en md5
, respectievelijk.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Eenmaal bijgewerkt, zou de configuratie er als volgt uit moeten zien.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Start PostgreSQL opnieuw zodat de wijzigingen van kracht kunnen worden.
sudo systemctl restart postgresql-10
Installeer nog een paar vereiste PostgreSQL-afhankelijkheden.
sudo yum -y install libpqxx-devel protobuf-devel
Het wordt aanbevolen om een onbevoegde gebruiker te gebruiken om de toepassing uit te voeren om deze geïsoleerd te houden van de rest van het systeem. Maak een nieuwe gebruiker aan voor Redmine en schakel over naar de zojuist aangemaakte gebruiker.
sudo adduser redmine
sudo su - redmine
We zullen de nieuwste versie van Ruby installeren met Ruby Version Manager of RVM. Het wordt gebruikt om meerdere versies van Ruby te installeren en te beheren.
Voeg de GPG-sleutel van RVM toe aan uw server.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Installeer RVM.
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
Haal de lijst met de beschikbare versies van Ruby op.
rvm list known
Je ziet een lange lijst met Ruby-versies.
[redmine@vultr ~]$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head
...
Installeer de nieuwste versie van Ruby uit de lijst.
rvm install 2.4
Gebruik de geïnstalleerde versie van Ruby.
rvm use 2.4
U kunt de versie ervan verifiëren.
ruby -v
U zult een vergelijkbare uitvoer zien.
[redmine@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Installeer bundler, de afhankelijkheidsmanager voor de Ruby-applicatie.
gem install bundler
Ruby is nu geïnstalleerd. Voordat we Redmine installeren, moeten we Phusion Passenger installeren.
Voer de volgende opdracht uit om Passenger te installeren.
gem install passenger
Geef uitvoeringsrechten aan de homedirectory van de redmine
gebruiker. Passagier moet de binaire bestanden uitvoeren om de applicatie te kunnen gebruiken.
chmod o+x "/home/redmine"
Installeer de Apache-module voor passagiers.
passenger-install-apache2-module
Het installatiescript zal u enkele vragen stellen. Ten eerste geeft het u informatie over het installatieproces. Vervolgens wordt u gevraagd de taal te selecteren die u gaat gebruiken. Aangezien onze applicatie is geschreven in Ruby on Rails, selecteert u Ruby in het menu en drukt u op " Enter
" om verder te gaan.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬡ Python
⬡ Node.js
⬡ Meteor
Het installatieprogramma controleert nu op vereisten. Het installatieprogramma ondervindt geen ontbrekende afhankelijkheden en gaat automatisch verder met het compileren en installeren van de module.
Zodra de module is geïnstalleerd, wordt u gevraagd de module toe te voegen aan het Apache-configuratiebestand.
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerDefaultRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
</IfModule>
After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!
Press ENTER when you are done editing.
We zullen dit voorlopig overslaan en het later in de tutorial voltooien omdat de gebruiker waarmee we nu zijn aangemeld geen sudo
rechten heeft. Druk op " Enter
" om deze stap over te slaan.
Ten slotte valideert het installatiescript de installatie en ziet u een waarschuwing dat de passagiersmodule niet is gespecificeerd in de Apache-configuratie.
Validating installation...
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/httpd/conf/httpd.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
Nu we de Passenger-module voor Apache hebben geïnstalleerd, gaat u verder met het downloaden en installeren van Redmine.
Download de nieuwste versie van Redmine van de officiële Redmine-downloadpagina .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Pak het archief uit en hernoem de map voor het gemak.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
Kopieer de voorbeeldconfiguratiebestanden naar de productielocatie.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Open het databaseconfiguratiebestand dat we zojuist hebben gekopieerd om de databasegegevens in te voeren.
nano config/database.yml
Het databasebestand is standaard geconfigureerd voor MySQL. Zoek de configuraties voor productie en ontwikkeling en test met de MySQL-adapter. Geef commentaar op al deze regels.
#production:
# adapter: mysql2
# database: redmine
# host: localhost
# username: root
# password: ""
# encoding: utf8
#development:
# adapter: mysql2
# database: redmine_development
# host: localhost
# username: root
# password: ""
# encoding: utf8
#test:
# adapter: mysql2
# database: redmine_test
# host: localhost
# username: root
# password: ""
# encoding: utf8
Zoek verder de regels met commentaar, met production
configuratie voor de postgresql
adapter. Maak commentaar op die regels en werk de databasenaam en de gebruikersgegevens bij. Zorg ervoor dat u de juiste inspringing gebruikt, dat is twee spaties.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
Configureer de applicatie om de PostgreSQL-configuratie te gebruiken.
bundle config build.pg --with-pg-config=/usr/pgsql-10/bin/pg_config
Installeer de toepassingsafhankelijkheden die vereist zijn voor de toepassing.
bundle install --without development test
Aan het einde van de installatie ziet u het volgende bericht.
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
De volgende opdracht genereert geheime tokens die worden gebruikt om de sessiegegevens te coderen.
bundle exec rake generate_secret_token
Schrijf de PostgreSQL-database.
RAILS_ENV=production bundle exec rake db:migrate
Voer de volgende opdracht uit, die de standaardgegevens naar de PostgreSQL-database schrijft.
RAILS_ENV=production bundle exec rake redmine:load_default_data
De bovenstaande opdracht vraagt u om de standaardtaal te kiezen die bij de toepassing moet worden gebruikt. De standaardkeuze is Engels; kies volgens uw voorkeur.
[redmine@vultr redmine]$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]
====================================
Default configuration data loaded.
De installatie van de Redmine-applicatie is nu voltooid. Wijzig het eigendom en de rechten van de mappen en bestanden.
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
We hebben alles geconfigureerd wat we nodig hebben van de niet-geprivilegieerde gebruiker. Schakel terug naar de sudo
gebruiker door te rennen su - <username>
.
Voeg de passagiersmodule voor Apache toe aan het Apache-configuratiebestand. Hierdoor wordt de passagiersmodule automatisch geladen.
echo "LoadModule passenger_module /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/httpd/conf.modules.d/00-base.conf
Maak een nieuw virtueel hostbestand voor uw Redmine-applicatie.
sudo nano /etc/httpd/conf.d/redmine.conf
Vul het bestand met de volgende inhoud.
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
PassengerUser redmine
<Directory /home/redmine/redmine/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
Zorg ervoor dat u deze vervangt redmine.example.com
door uw daadwerkelijke domeinnaam. Zorg er ook voor dat het pad naar de PassengerRoot
en PassengerRuby
correct is. Het pad naar de binaire bestanden kan veranderen wanneer er een nieuwe release is van Ruby of Passenger. Voer de volgende opdracht uit om deze paden te vinden.
sudo su redmine -c "passenger-config about ruby-command"
Je krijgt de volgende output.
[user@vultr ~]$ sudo su redmine -c "passenger-config about ruby-command"
passenger-config was invoked through the following Ruby interpreter:
Command: /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
Version: ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
To use in Apache: PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
To use in Nginx : passenger_ruby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
To use with Standalone: /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/bin/passenger start
Zodra het virtuele hostbestand is gemaakt, start u de Apache-webserver opnieuw op.
sudo systemctl restart httpd
Pas de firewallconfiguratie aan om poort 80
door de firewall toe te staan.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
Je hebt nu toegang tot je Redmine-interface http://redmine.example.com
. Log in met gebruikersnaam admin
en wachtwoord admin
. Bij uw eerste login vraagt Redmine u om het wachtwoord bij te werken.
Omdat onze Redmine-installatie zich op een openbare server bevindt, wordt aanbevolen om SSL te gebruiken om de uitwisseling van gegevens van de server te beveiligen.
Installeer Certbot, de clienttoepassing voor Let's Encrypt CA.
sudo yum -y install epel-release
sudo yum -y install certbot mod_ssl
Voordat u certificaten kunt aanvragen, moet u poort 80
en / 443
of standaard HTTP
en HTTPS
services toestaan via de firewall. Aangezien we poort 80
eerder al hebben toegestaan , laten we poort toestaan 443
.
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Opmerking: om certificaten van Let's Encrypt CA te verkrijgen, moet het domein waarvoor de certificaten moeten worden gegenereerd, naar de server worden gericht. Zo niet, breng dan de nodige wijzigingen aan in de DNS-records van het domein en wacht tot de DNS is gepropageerd voordat u opnieuw een certificaataanvraag indient. Certbot controleert de domeinautoriteit voordat de certificaten worden verstrekt.
Genereer de SSL-certificaten.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
De gegenereerde certificaten worden waarschijnlijk opgeslagen in /etc/letsencrypt/live/redmine.example.com/
. Het SSL-certificaat wordt opgeslagen als cert.pem
en de privésleutel wordt opgeslagen als privkey.pem
.
Let's Encrypt-certificaten verlopen over 90 dagen, daarom wordt aanbevolen om de automatische verlenging van de certificaten in te stellen met Cron-taken.
Open het Cron-taakbestand voor de root
gebruiker.
sudo crontab -e
Voeg de volgende regel toe aan het einde van het bestand.
30 5 * * * /usr/bin/certbot renew --quiet
De bovenstaande Cron-taak wordt elke dag om 05.30 uur uitgevoerd. Als het certificaat afloopt, wordt het automatisch verlengd.
Bewerk het virtuele hostbestand dat we eerder voor Redmine hebben gemaakt.
sudo nano /etc/httpd/conf.d/redmine.conf
Wijzig het virtuele hostbestand zodat het er als volgt uitziet.
<VirtualHost *:80>
Redirect permanent / https://www.example.com/
ServerName redmine.example.com
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName redmine.example.com
DocumentRoot "/home/redmine/redmine/public"
<Directory "/home/redmine/redmine/public">
Options None
Require all granted
</Directory>
PassengerAppEnv production
PassengerRoot /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
PassengerUser redmine
PassengerHighPerformance on
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/redmine.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/redmine.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/redmine.example.com/chain.pem
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<IfModule headers_module>
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
</IfModule>
</VirtualHost>
Sla het bestand op en verlaat de editor.
Start Apache opnieuw op zodat de wijzigingen van kracht kunnen worden.
sudo systemctl restart httpd
U kunt nu toegang Redmine boven HTTPS
op https://redmine.example.com
.
Gefeliciteerd, je hebt Redmine met succes geïnstalleerd op je CentOS 7-exemplaar. Begin met het ontwikkelen van uw project door uw project te maken of te importeren.
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.
WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+
Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.
Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie
13 Commerciële data-extractietools voor big data
Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true
Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.
Een inzicht in 26 Big Data-analysetechnieken: deel 1
AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.