Як встановити Redmine на Ubuntu 16.04

Redmine — це безкоштовний веб-інструмент керування проектами з відкритим вихідним кодом. Він написаний на Ruby on Rails і підтримує кілька серверів баз даних для зберігання бази даних. Це багатофункціональна програма, яка підтримує кілька проектів, ACL на основі ролей і систему відстеження проблем. Він також має підтримку діаграми Ганта та календаря, керування файлами, вікі та форуму для кожного проекту, а також багато інших функцій. Він підтримує системи контролю версій, такі як Git, SVN або CVS. Він також багатомовний, підтримує аж 49 мов.

Передумови

  • Примірник сервера Vultr Ubuntu 16.04.
  • Користувач sudo .
  • Доменне ім’я, спрямоване на сервер.

У цьому підручнику ми будемо використовувати 192.168.1.1як загальнодоступну IP-адресу та redmine.example.com як доменне ім’я, спрямоване на екземпляр Vultr. Будь ласка, не забудьте замінити всі приклади доменного імені та IP-адреси фактичними.

Оновіть свою базову систему за допомогою посібника Як оновити Ubuntu 16.04 . Після оновлення системи перейдіть до встановлення залежностей.

Встановіть Apache

Redmine написаний на Ruby on Rails, тому нам знадобиться інтеграція Phusion Passenger з веб-сервером Apache для обслуговування програми.

Встановіть Apache.

sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev

Щоб створити Ruby і Passenger, нам також знадобляться деякі інструменти розробки. Встановіть необхідні інструменти.

sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev

Встановіть PostgreSQL

Redmine підтримує кілька типів серверів баз даних, таких як MySQL, PostgreSQL і MSSQL. У цьому підручнику ми будемо використовувати PostgreSQL для розміщення сервера баз даних Redmine.

PostgreSQL - це об'єктно-реляційна система баз даних. Репозиторій Ubuntu за замовчуванням містить стару версію PostgreSQL, тому додайте сховище PostgreSQL до системи.

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

Встановіть сервер бази даних PostgreSQL.

sudo apt -y install postgresql

Запустіть сервер PostgreSQL і ввімкніть його автоматичний запуск під час завантаження.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Змініть пароль для користувача PostgreSQL за замовчуванням.

sudo passwd postgres

Увійдіть як користувач PostgreSQL.

sudo su - postgres

Створіть нового користувача PostgreSQL для Redmine.

createuser redmine

Ви можете використовувати будь-яке ім’я користувача замість redmine. PostgreSQL надає psql оболонку для виконання запитів до бази даних. Перейдіть до оболонки PostgreSQL.

psql

Встановіть пароль для новоствореного користувача для бази даних Redmine.

ALTER USER redmine WITH ENCRYPTED password 'DBPassword';

Замінити DBPassword надійним паролем. Створіть нову базу даних для встановлення Redmine.

CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;

Вихід з psql оболонки.

\q

Перейти до sudo користувача.

exit

Встановіть ще кілька необхідних залежностей PostgreSQL.

sudo apt -y install libpqxx-dev protobuf-compiler

Встановіть Ruby

Ми встановимо останню версію Ruby за допомогою RVM. Він використовується для встановлення та керування кількома версіями Ruby.

Додайте репозиторій RVM.

sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update

Встановіть RVM.

sudo apt -y install rvm

Оскільки нам потрібно встановити Ruby для всієї системи, ми тимчасово перейдемо до користувача root.

sudo -i

Оновіть змінні середовища.

echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh

Встановіть останню версію Ruby.

rvm install 2.5.1

Примітка: якщо ви використовуєте іншу версію Ruby, обов’язково оновіть шлях Ruby відповідно.

Використовуйте встановлену версію Ruby.

rvm use 2.5.1 --default

Ви можете перевірити його версію.

ruby -v

Ви побачите подібний вихід.

root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

Install bundler, який є менеджером залежностей для програми Ruby.

gem install bundler

Тепер Ruby встановлено. Перш ніж ми встановимо Redmine, нам потрібно буде встановити Phusion Passenger.

Встановіть Passenger

Виконайте таку команду, щоб встановити Passenger.

gem install passenger

Встановіть модуль Apache для Passenger.

passenger-install-apache2-module

Сценарій інсталятора задасть вам кілька запитань. По-перше, він надасть вам інформацію про процес встановлення. Потім він попросить вас вибрати мову, якою ви будете використовувати. Оскільки наша програма написана на Ruby on Rails, виберіть у меню Ruby та натисніть, ENTERщоб продовжити.

Which languages are you interested in?

Use <space> to select.
If the menu doesn't display correctly, press '!'

 ‣ ⬢  Ruby
   ⬢  Python
   ⬡  Node.js
   ⬡  Meteor

Тепер установник перевірить вимоги. Програма встановлення не зустріне жодних відсутніх залежностей і автоматично приступить до компіляції та встановлення модуля.

Після встановлення модуля вам буде запропоновано додати модуль до файлу конфігурації 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.

We will skip this for now and will complete it later in the tutorial. Press ENTER to skip this step.

Finally, the installer script will validate the installation and you will see a warning saying the Passenger module is not specified in Apache configuration.

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.

Now that we have installed the Passenger module for Apache, proceed to download and install Redmine. Switch to the sudo user again since we do not need to run any more commands using root user.

exit

Install Redmine

It is recommended to use an unprivileged user to run the application to keep it isolated from rest of the system. Create a new user for Redmine and switch to the newly created user.

sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine

Download the latest version of Redmine from the official Redmine download page.

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>.

Configure Apache

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

Примітка: шлях до модуля Passenger може змінитися, коли з’явиться новий випуск Passenger. Щоб знайти шлях до модуля, скористайтеся sudo find / -name mod_passenger.soкомандою.

Створіть новий файл віртуального хосту для вашої програми Redmine.

sudo nano /etc/apache2/sites-available/redmine.conf

Заповніть файл таким вмістом.

<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>

Обов’язково замініть redmine.example.com на своє фактичне доменне ім’я. Також переконайтеся, що шлях до PassengerRoot та PassengerDefaultRuby правильний. Шлях до бінарних файлів може змінитися, коли з’явиться новий випуск Ruby або Passenger. Щоб знайти ці шляхи, виконайте таку команду.

passenger-config about ruby-command

Ви отримаєте наступний результат.

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'.

Після створення файлу віртуального хоста. Активуйте конфігурацію.

sudo a2ensite redmine

Перезапустіть веб-сервер Apache.

sudo systemctl restart apache2

Тепер ви можете отримати доступ до свого інтерфейсу Redmine на http://redmine.example.com. Увійдіть за допомогою імені користувача adminта пароля admin. Під час першого входу Redmine запропонує вам оновити пароль.

Захист Apache за допомогою Let's Encrypt SSL

Оскільки наша установка Redmine здійснюється на загальнодоступному сервері, рекомендується використовувати SSL для забезпечення обміну даними із сервера.

Додайте сховище Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Установіть Certbot, який є клієнтською програмою для Let's Encrypt CA.

sudo apt -y install certbot

Примітка. Щоб отримати сертифікати від Let's Encrypt CA, домен, для якого мають бути створені сертифікати, має бути спрямований на сервер. Якщо ні, внесіть необхідні зміни в записи DNS домену та зачекайте, поки DNS пошириться, перш ніж знову надсилати запит на сертифікат. Certbot перевіряє авторитет домену перед наданням сертифікатів.

Згенеруйте сертифікати SSL.

sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com

Згенеровані сертифікати, ймовірно, зберігатимуться в /etc/letsencrypt/live/redmine.example.com/. Сертифікат SSL буде збережено як, cert.pem а закритий ключ – як privkey.pem.

Термін дії сертифікатів Let's Encrypt закінчується через 90 днів, тому рекомендується налаштувати автоматичне оновлення сертифікатів за допомогою завдань Cron.

Відкрийте файл завдання Cron для root користувача.

sudo crontab -e

Додайте наступний рядок у кінці файлу.

30 5 * * * /usr/bin/certbot renew --quiet

Вищезазначене завдання Cron виконуватиметься щодня о 5:30 ранку. Якщо термін дії сертифіката закінчився, його буде автоматично поновлено.

Увімкніть модуль SSL для Apache.

sudo a2enmod ssl

Відредагуйте файл віртуального хоста, який ми створили раніше для Redmine.

sudo nano /etc/apache2/sites-available/redmine.conf

Змініть файл віртуального хоста, щоб він був подібним до наведеного нижче.

<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>

Збережіть файл і вийдіть з редактора.

Перезапустіть Apache, щоб зміни вступили в силу.

sudo systemctl restart apache2

Тепер ви можете отримати доступ до Redmine за HTTPS адресою https://redmine.example.com.

Вітаємо, ви успішно встановили Redmine на свій екземпляр Ubuntu 16.04. Почніть розробляти свій проект, створивши або імпортуючи проект.


Leave a Comment

Встановіть Plesk на CentOS 7

Встановіть Plesk на CentOS 7

Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Установіть Lets Encrypt SSL у програму WordPress одним клацанням миші

Вступ Lets Encrypt — це служба центру сертифікації, яка пропонує безкоштовні сертифікати TLS/SSL. Certbot спрощує процес встановлення,

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Як налаштувати сервер Tekkit Classic на Ubuntu 16.10

Використання іншої системи? Що таке Tekkit Classic? Tekkit Classic — це модпак для гри, яку всі знають і люблять; Майнкрафт. Він містить деякі з вер

Як встановити та налаштувати PHP 7.0 або PHP 7.1 на Ubuntu 16.04

Як встановити та налаштувати PHP 7.0 або PHP 7.1 на Ubuntu 16.04

PHP та пов’язані з ним пакети є найбільш часто використовуваними компонентами під час розгортання веб-сервера. У цій статті ми дізнаємося, як налаштувати PHP 7.0 або PHP 7.1 o

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Вступ Lighttpd — це форк Apache, який має набагато меншу ресурсомісткість. Він легкий, звідси його назва, і досить простий у використанні. Встановити

Три безкоштовні панелі керування сервером (швидке встановлення)

Три безкоштовні панелі керування сервером (швидке встановлення)

1. Virtualmin/Webmin Virtualmin — це потужна та гнучка панель керування веб-хостингом для систем Linux та UNIX на основі відомої веб-бази з відкритим вихідним кодом.

Налаштування програми Yii на Ubuntu 14.04

Налаштування програми Yii на Ubuntu 14.04

Yii — це PHP-фреймворк, який дозволяє розробляти програми швидше та легше. Установка Yii на Ubuntu проста, як ви дізнаєтеся

Використання Screen в Ubuntu 14.04

Використання Screen в Ubuntu 14.04

Screen — це програма, яка дозволяє багаторазово використовувати термінальні сеанси в одному вікні. Це дозволяє моделювати декілька вікон терміналу, де це ma

Використання Logrotate для керування файлами журналу

Використання Logrotate для керування файлами журналу

Вступ Logrotate — це утиліта для Linux, яка спрощує адміністрування файлів журналів. Зазвичай він запускається раз на день через завдання cron і керує базою журналів

Як встановити Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Як встановити Apache Cassandra 3.11.x на Ubuntu 16.04 LTS

Використання іншої системи? Apache Cassandra — це безкоштовна система керування базами даних NoSQL з відкритим вихідним кодом, яка розроблена для забезпечення масштабованості, високої

Як встановити Vanilla Forum на Ubuntu 16.04

Як встановити Vanilla Forum на Ubuntu 16.04

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити Kanboard на Ubuntu 18.04 LTS

Як встановити Kanboard на Ubuntu 18.04 LTS

Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації

Як встановити Gitea на Ubuntu 18.04

Як встановити Gitea на Ubuntu 18.04

Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом, яка працює на базі git. Gitea написана на Голанг і є

Встановлення Docker CE на Ubuntu 16.04

Встановлення Docker CE на Ubuntu 16.04

Використання іншої системи? Docker — це програма, яка дозволяє розгортати програми, які запускаються як контейнери. Це було написано в популярному програмі Go

Виправлення експлойту Dirty Cow на CentOS

Виправлення експлойту Dirty Cow на CentOS

Що таке Dirty Cow (CVE-2016-5195)? Уразливість Dirty Cow використовується через те, як Linux обробляє код. Це дозволяє непривілейованому користувачеві використовувати gai

Налаштуйте користувача без права root за допомогою Sudo Access в Ubuntu

Налаштуйте користувача без права root за допомогою Sudo Access в Ubuntu

Наявність лише одного користувача, який є root, може бути небезпечним. Тож давайте це виправимо. Vultr надає нам свободу робити з нашими користувачами та нашими серверами, що нам заманеться

Встановіть Adminer на Debian/Ubuntu

Встановіть Adminer на Debian/Ubuntu

Adminer — це легка альтернатива phpMyAdmin. Для порівняння, його загальний розмір пакета становить 400 КБ проти 4,2 МБ phpMyAdmin. На відміну від phpMyAdmin, який

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться

Як встановити Nextcloud на Ubuntu 17.04

Як встановити Nextcloud на Ubuntu 17.04

У цьому посібнику ви навчитеся інсталювати програмне забезпечення NextCloud. Ми будемо використовувати Caddy для потреб нашого веб-сервера, оскільки це спрощує налаштування

Як встановити GoAccess на Ubuntu 16.04

Як встановити GoAccess на Ubuntu 16.04

Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше