Instal·leu Plesk a CentOS 7
Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades
Redmine és una eina de gestió de projectes gratuïta i de codi obert basada en web. Està escrit en Ruby on Rails i admet diversos servidors de bases de dades per emmagatzemar la base de dades. És una aplicació rica en funcions que admet múltiples projectes, ACL basat en rols i un sistema de seguiment de problemes. També té suport de diagrama de Gantt i calendari, gestió de fitxers, wiki per projecte i fòrum, així com moltes altres funcions. Admet sistemes de control de versions com Git, SVN o CVS. També és multilingüe i admet fins a 49 idiomes.
Per a aquest tutorial, utilitzarem 192.168.1.1com a adreça IP pública i redmine.example.com com a nom de domini apuntat cap a la instància Vultr. Assegureu-vos de substituir totes les ocurrències del nom de domini d'exemple i l'adreça IP per l'actual.
Actualitzeu el vostre sistema base mitjançant la guia Com actualitzar Ubuntu 16.04 . Un cop actualitzat el sistema, procediu a instal·lar les dependències.
Redmine està escrit en Ruby on Rails, per tant requerirem que Phusion Passenger s'integri amb el servidor web Apache per servir l'aplicació.
Instal·leu Apache.
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
Per construir el Ruby i el Passenger, també necessitarem algunes eines de desenvolupament. Instal·leu les eines necessàries.
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmine admet diversos tipus de servidors de bases de dades com MySQL, PostgreSQL i MSSQL. En aquest tutorial, utilitzarem PostgreSQL per allotjar el servidor de bases de dades Redmine.
PostgreSQL és un sistema de bases de dades relacional objecte. El dipòsit d'Ubuntu predeterminat conté una versió antiga de PostgreSQL, així que afegiu el dipòsit de PostgreSQL al sistema.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Instal·leu el servidor de bases de dades PostgreSQL.
sudo apt -y install postgresql
Inicieu el servidor PostgreSQL i activeu-lo perquè s'iniciï automàticament en el moment de l'arrencada.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Canvieu la contrasenya de l'usuari PostgreSQL predeterminat.
sudo passwd postgres
Inicieu sessió com a usuari de PostgreSQL.
sudo su - postgres
Creeu un nou usuari de PostgreSQL per a Redmine.
createuser redmine
Podeu utilitzar qualsevol nom d'usuari en lloc de redmine. PostgreSQL proporciona l' psql intèrpret d'ordres per executar consultes a la base de dades. Canvia a l'intèrpret d'ordres PostgreSQL.
psql
Establiu una contrasenya per a l'usuari acabat de crear per a la base de dades de Redmine.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
Substituïu-la DBPassword per una contrasenya segura. Creeu una nova base de dades per a la instal·lació de Redmine.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Sortida de la psql closca.
\q
Canvia a l' sudo usuari.
exit
Instal·leu algunes dependències més necessàries de PostgreSQL.
sudo apt -y install libpqxx-dev protobuf-compiler
Instal·larem la darrera versió de Ruby mitjançant RVM. S'utilitza per instal·lar i gestionar diverses versions de Ruby.
Afegiu el repositori RVM.
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
Instal·leu RVM.
sudo apt -y install rvm
Com que necessitem instal·lar Ruby a tot el sistema, canviarem temporalment a l'usuari root.
sudo -i
Actualitzar les variables d'entorn.
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
Instal·leu la darrera versió de Ruby.
rvm install 2.5.1
Nota: si utilitzeu una versió diferent de Ruby, assegureu-vos d'actualitzar el camí de Ruby en conseqüència.
Utilitzeu la versió instal·lada de Ruby.
rvm use 2.5.1 --default
Podeu comprovar la seva versió.
ruby -v
Veureu una sortida similar.
root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
Install bundler, que és el gestor de dependències de l'aplicació Ruby.
gem install bundler
Ruby ja està instal·lat. Abans d'instal·lar Redmine, haurem d'instal·lar Phusion Passenger.
Executeu l'ordre següent per instal·lar Passenger.
gem install passenger
Instal·leu el mòdul Apache per a Passenger.
passenger-install-apache2-module
L'script d'instal·lació us farà algunes preguntes. En primer lloc, us proporcionarà informació sobre el procés d'instal·lació. A continuació, us demanarà que seleccioneu l'idioma que utilitzareu. Com que la nostra aplicació està escrita en Ruby on Rails, seleccioneu Ruby al menú i premeu ENTERper continuar.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
Ara l'instal·lador comprovarà els requisits. L'instal·lador no trobarà cap dependència que falti i procedirà automàticament a compilar i instal·lar el mòdul.
Un cop instal·lat el mòdul, us demanarà que afegiu el mòdul al fitxer de configuració d'Apache.
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.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.
De moment, ho saltarem i ho completarem més endavant al tutorial. Premeu ENTERper ometre aquest pas.
Finalment, l'script d'instal·lació validarà la instal·lació i veureu un avís que diu que el mòdul Passenger no està especificat a la configuració d'Apache.
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/apache2/apache2.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
Ara que hem instal·lat el mòdul Passenger per a Apache, procediu a descarregar i instal·lar Redmine. sudoTorneu a canviar a l' usuari ja que no necessitem executar més ordres amb l' rootusuari.
exit
Es recomana utilitzar un usuari sense privilegis per executar l'aplicació per mantenir-la aïllada de la resta del sistema. Creeu un usuari nou per a Redmine i canvieu a l'usuari acabat de crear.
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine
Baixeu l'última versió de Redmine des de la pàgina oficial de descàrrega de Redmine .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Extract the archive and rename the directory for the sake of convenience.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
Copy the example configuration files to its production location.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Open the database configuration file we just copied to enter the database details.
nano config/database.yml
By default, the database file is configured for MySQL. Find the configurations for production and development, and test which uses the MySQL adapter. Comment out all of these lines.
#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
Furthur, find the lines which are commented, having production configuration for the postgresql adapter. Uncomment those lines and update the database name and user credentials. Make sure to use the correct indentation, which is two spaces.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
Configure the application to use the PostgreSQL configuration.
bundle config build.pg --with-pg-config=/usr/bin/pg_config
Install the dependencies required by the application.
bundle install --path vendor/bundle --without development test
You will see the following message at the end of the installation.
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.
Bundled gems are installed into `./vendor/bundle`
The following command generates secret tokens that are used to encode the session data.
bundle exec rake generate_secret_token
Write the PostgreSQL database.
RAILS_ENV=production bundle exec rake db:migrate
Run the following command, which writes the default data into PostgreSQL database.
RAILS_ENV=production bundle exec rake redmine:load_default_data
The above command will ask you to choose the default language to be used with the application. The default choice is English; choose according to your preference.
[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.
Installation of the Redmine application is now finished. Change ownership and permissions of the directories and files.
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 have configured everything we need from the non-privileged user. Switch back to the sudo user by running su - <username>.
Add the Passenger module for Apache into the Apache configuration file. This will automatically load the Passenger module.
echo "LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/apache2/apache2.conf
Nota: el camí al mòdul Passenger pot canviar quan hi hagi una nova versió de Passenger. Per trobar el camí al mòdul, utilitzeu l' sudo find / -name mod_passenger.soordre.
Creeu un fitxer d'amfitrió virtual nou per a la vostra aplicació Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Omple el fitxer amb el contingut següent.
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
<Directory /home/redmine/redmine/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
Assegureu-vos de substituir-lo redmine.example.com pel vostre nom de domini real. A més, assegureu-vos que el camí cap a PassengerRoot i PassengerDefaultRuby sigui correcte. El camí cap als binaris pot canviar quan hi hagi una nova versió de Ruby o Passenger. Per trobar aquests camins, executeu l'ordre següent.
passenger-config about ruby-command
Obtindreu la següent sortida.
user@vultr:~$ passenger-config about ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
Version: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
To use in Apache: PassengerRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use in Nginx : passenger_ruby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use with Standalone: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/bin/passenger start
## Notes for RVM users
Do you want to know which command to use for a different Ruby interpreter? 'rvm use' that Ruby interpreter, then re-run 'passenger-config about ruby-command'.
Un cop creat el fitxer d'amfitrió virtual. Activa la configuració.
sudo a2ensite redmine
Reinicieu el servidor web Apache.
sudo systemctl restart apache2
Ara podeu accedir a la vostra interfície de Redmine a http://redmine.example.com. Inicieu sessió amb el nom d'usuari admini la contrasenya admin. En el primer inici de sessió, Redmine us demanarà que actualitzeu la contrasenya.
Com que la nostra instal·lació de Redmine es troba en un servidor públic, es recomana utilitzar SSL per assegurar l'intercanvi de dades del servidor.
Afegiu el repositori Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Instal·leu Certbot, que és l'aplicació client de Let's Encrypt CA.
sudo apt -y install certbot
Nota: Per obtenir certificats de Let's Encrypt CA, el domini per al qual s'han de generar els certificats s'ha d'apuntar al servidor. Si no, feu els canvis necessaris als registres DNS del domini i espereu que el DNS es propagui abans de tornar a fer la sol·licitud de certificat. Certbot verifica l'autoritat del domini abans de proporcionar els certificats.
Generar els certificats SSL.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
És probable que els certificats generats s'emmagatzemin a /etc/letsencrypt/live/redmine.example.com/. El certificat SSL s'emmagatzemarà com a cert.pem i la clau privada com a privkey.pem.
Els certificats de Let's Encrypt caduquen en 90 dies, per tant, es recomana configurar la renovació automàtica dels certificats mitjançant treballs de Cron.
Obriu el fitxer de treball Cron per a l' root usuari.
sudo crontab -e
Afegiu la línia següent al final del fitxer.
30 5 * * * /usr/bin/certbot renew --quiet
El treball de Cron anterior s'executarà cada dia a les 5:30 del matí. Si el certificat ha de caducar, es renovarà automàticament.
Habiliteu el mòdul SSL per a Apache.
sudo a2enmod ssl
Editeu el fitxer d'amfitrió virtual que vam crear anteriorment per a Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Modifiqueu el fitxer d'amfitrió virtual perquè sigui similar al següent.
<VirtualHost *:80>
ServerName redmine.example.com
Redirect permanent / https://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 /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.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>
Deseu el fitxer i sortiu de l'editor.
Reinicieu Apache perquè els canvis tinguin efecte.
sudo systemctl restart apache2
Ara podeu accedir a Redmine des HTTPS de https://redmine.example.com.
Enhorabona, heu instal·lat Redmine correctament a la vostra instància Ubuntu 16.04. Comenceu a desenvolupar el vostre projecte creant o important el vostre projecte.
Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades
Introducció Lets Encrypt és un servei d'autoritat de certificació que ofereix certificats TLS/SSL gratuïts. El procés d'instal·lació està simplificat per Certbot,
Utilitzeu un sistema diferent? Què és Tekkit Classic? Tekkit Classic és un modpack per al joc que tothom coneix i estima; Minecraft. Conté algunes de la ver
Utilitzeu un sistema diferent? Jekyll és una gran alternativa a WordPress per crear blocs o compartir contingut. No requereix cap base de dades i és molt fàcil
Utilitzeu un sistema diferent? Si compres un servidor Debian, sempre hauríeu de tenir els darrers pedaços i actualitzacions de seguretat, tant si esteu adormit com si no.
PHP i els paquets relacionats són els components més utilitzats quan es desplega un servidor web. En aquest article, aprendrem a configurar PHP 7.0 o PHP 7.1 o
Squid és un popular programa Linux gratuït que us permet crear un servidor intermediari web de reenviament. En aquesta guia, veureu com instal·lar Squid a CentOS per convertir-vos-hi
Introducció Lighttpd és una bifurcació d'Apache destinada a ser molt menys intensiu en recursos. És lleuger, d'aquí el seu nom, i és bastant senzill d'utilitzar. Instal·lant
1. Virtualmin/Webmin Virtualmin és un tauler de control d'allotjament web potent i flexible per a sistemes Linux i UNIX basat en la coneguda base web de codi obert
Yii és un framework PHP que permet desenvolupar aplicacions de manera més ràpida i senzilla. Instal·lar Yii a Ubuntu és senzill, ja que aprendràs exactament
Screen és una aplicació que permet l'ús múltiple de sessions de terminal dins d'una finestra. Això us permet simular diverses finestres de terminal on es fa
Aquest tutorial explica com configurar un servidor DNS amb Bind9 a Debian o Ubuntu. Al llarg de l'article, substituïu el vostre-nom-domini.com en conseqüència. Al th
Introducció Logrotate és una utilitat Linux que simplifica l'administració dels fitxers de registre. Normalment s'executa un cop al dia mitjançant un treball cron i gestiona la base de registres
Recentment, VULTR ha fet canvis al seu extrem, i ara tot hauria de funcionar bé des de la caixa amb NetworkManager habilitat. Si voleu desactivar
Icinga2 és un sistema de supervisió potent i, quan s'utilitza en un model de client mestre, pot substituir la necessitat de controls de monitoratge basats en NRPE. El mestre-client
Utilitzeu un sistema diferent? Red5 és un servidor multimèdia de codi obert implementat a Java que us permet executar aplicacions Flash multiusuari com ara la transmissió en directe.
En aquest article, veurem com compilar i instal·lar la línia principal de Nginx des de les fonts oficials de Nginx amb el mòdul PageSpeed, que us permet
Utilitzeu un sistema diferent? Apache Cassandra és un sistema de gestió de bases de dades NoSQL gratuït i de codi obert dissenyat per proporcionar escalabilitat, alta
Utilitzeu un sistema diferent? Apache Cassandra és un sistema de gestió de bases de dades NoSQL gratuït i de codi obert dissenyat per proporcionar escalabilitat, alta
Utilitzeu un sistema diferent? Vanilla Forum és una aplicació de fòrum de codi obert escrita en PHP. És totalment personalitzable, fàcil d'utilitzar i admet externa
La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.
També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.
Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.
Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.
El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...
A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.
Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.
Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.
En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.
Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació