Как установить Selfoss RSS Reader на Ubuntu 16.04 LAMP VPS

Selfoss RSS Reader - это многоцелевой бесплатный веб-ресурс с открытым исходным кодом, многоцелевой трансляцией в реальном времени, гибридами, программами чтения новостей (RSS / Atom) и универсальным агрегатором. Selfoss RSS Reader поддерживает импорт OPML, спокойный JSON API и систему открытых плагинов, которая позволяет легко расширять функциональность по умолчанию, создавая собственные пользовательские соединители данных. Вы можете использовать Selfoss для прямой трансляции и сбора всех своих сообщений, твитов, подкастов и каналов в одном центральном месте, к которому можно легко получить доступ с любого настольного или мобильного устройства.

В этом уроке мы собираемся установить Selfoss RSS Reader 2.17 на Ubuntu 16.04 LAMP VPS с использованием веб-сервера Apache, PHP 7.0 и базы данных MariaDB.

Предпосылки

  • Чистый экземпляр сервера Vultr Ubuntu 16.04 с доступом по SSH

Шаг 1: Добавить пользователя Sudo

Мы начнем с добавления нового sudoпользователя.

Сначала войдите на свой сервер как root:

ssh root@YOUR_VULTR_IP_ADDRESS

Добавьте нового пользователя с именем user1(или предпочитаемое имя пользователя):

adduser user1

При появлении запроса введите безопасный и запоминающийся пароль. Вам также будет предложено ввести ваше «Полное имя» и некоторые другие детали, но вы можете просто оставить их пустыми, нажав Enter.

Теперь проверьте /etc/sudoersфайл, чтобы убедиться, что sudoersгруппа включена:

visudo

Посмотрите на раздел, как это:

%sudo        ALL=(ALL:ALL)       ALL

Эта строка говорит нам, что пользователи, которые являются членами sudoгруппы, могут использовать sudoкоманду для получения rootпривилегий. По умолчанию он не комментируется, поэтому вы можете просто выйти из файла.

Далее нам нужно добавить user1в sudoгруппу:

usermod -aG sudo user1

Мы можем проверить user1членство в группе и убедиться, что usermodкоманда работала с groupsкомандой:

groups user1

Теперь используйте suкоманду для переключения на новую user1учетную запись пользователя sudo :

su - user1

Командная строка обновится, чтобы указать, что вы вошли в user1учетную запись. Вы можете проверить это с помощью whoamiкоманды:

whoami

Теперь перезапустите sshdслужбу, чтобы вы могли войти через sshновую учетную запись пользователя sudo без полномочий root:

sudo systemctl restart sshd

Выход из user1аккаунта:

exit

Выйдите из rootучетной записи (которая отключит ваш sshсеанс):

exit

Теперь вы можете sshвойти в экземпляр сервера с локального хоста, используя новую user1учетную запись пользователя sudo без полномочий root :

ssh user1@YOUR_VULTR_IP_ADDRESS

Если вы хотите выполнить sudo без необходимости каждый раз вводить пароль, затем /etc/sudoersснова откройте файл, используя visudo:

sudo visudo

Отредактируйте раздел для sudoгруппы так, чтобы он выглядел так:

%sudo   ALL=(ALL) NOPASSWD: ALL

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

Всякий раз, когда вы хотите войти в rootучетную запись пользователя из sudoучетной записи пользователя, вы можете использовать одну из следующих команд:

sudo -i
sudo su -

Вы можете выйти из rootучетной записи и вернуться к своей sudoучетной записи в любое время:

exit

Шаг 2: Обновите систему Ubuntu 16.04

Перед установкой каких-либо пакетов на экземпляр сервера Ubuntu мы сначала обновим систему.

Убедитесь, что вы вошли на сервер с помощью пользователя sudo без полномочий root и выполните следующие команды:

sudo apt-get update
sudo apt-get -y upgrade

Шаг 3: Установите веб-сервер Apache

Установите веб-сервер Apache:

sudo apt-get -y install apache2 

Затем используйте systemctlкоманду для запуска и включения автоматического запуска Apache во время загрузки:

sudo systemctl enable apache2
sudo systemctl start apache2

Проверьте файл конфигурации сайта Apache по умолчанию, чтобы убедиться, что DocumentRootдиректива указывает на правильный каталог:

sudo vi /etc/apache2/sites-enabled/000-default.conf 

Опция DocumentRootконфигурации будет выглядеть так:

DocumentRoot "/var/www/html"

Теперь нам нужно включить mod_rewriteмодуль Apache, поэтому убедитесь, что ваш файл конфигурации сайта Apache по-прежнему открыт, и добавьте следующие Directoryдирективы Apache непосредственно перед закрывающим </VirtualHost>тегом, чтобы конец вашего файла конфигурации выглядел следующим образом:

    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Наиболее важная директива, показанная выше AllowOverride All.

Теперь сохраните и закройте файл, и включить mod_rewrite, mod_authz_coreи mod_headersмодули Apache:

sudo a2enmod rewrite authz_core headers

Мы перезапустим Apache в конце этого руководства, но регулярный перезапуск Apache во время установки и настройки, безусловно, является хорошей привычкой, поэтому давайте сделаем это сейчас:

sudo systemctl restart apache2

Шаг 4: Установите PHP 7.0

Теперь мы можем установить PHP 7.0 вместе со всеми необходимыми модулями PHP, необходимыми для Selfoss RSS Reader:

sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip

Шаг 5: Установите MySQL Server

Установите сервер базы данных MySQL:

sudo apt-get -y install mysql-server

Во время установки сервера MySQL обязательно введите безопасный пароль для rootпользователя MySQL . Этот rootпользователь отличается от rootпользователя в Ubuntu, поскольку он используется только для подключения к серверу базы данных с полными привилегиями.

Запустите и включите сервер MySQL для автоматического запуска во время загрузки:

sudo systemctl enable mysql
sudo systemctl start mysql    

Защитите свой сервер MySQL от установки:

sudo mysql_secure_installation

При появлении запроса введите пароль, который вы создали для rootпользователя MYSQL во время установки. Просто ответьте «Y» на все остальные вопросы «да / нет», так как предложения по умолчанию являются наиболее безопасными.

Шаг 6: Создайте базу данных для Selfoss RSS Reader

Войдите в оболочку MySQL как rootпользователь MySQL , выполнив следующую команду:

sudo mysql -u root -p

Чтобы получить доступ к командной строке MySQL, просто введите rootпароль MySQL при появлении запроса.

Выполните следующие запросы, чтобы создать базу данных MySQL и пользователя базы данных для Selfoss RSS Reader:

CREATE DATABASE selfoss_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'selfoss_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON selfoss_db.* TO 'selfoss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Вы можете заменить имя базы данных selfoss_dbи имя пользователя selfoss_userна что-то более по своему вкусу, если хотите. Также убедитесь, что вы заменили «UltraSecurePassword» на действительно надежный пароль.

Шаг 7: Установите файлы Selfoss для чтения RSS

Измените ваш текущий рабочий каталог на веб-каталог по умолчанию:

cd /var/www/html/

Если вы получаете сообщение об ошибке, говорящее что-то вроде 'No such file or directory'этого, попробуйте следующую команду:

cd /var/www/ ; sudo mkdir html ; cd html

Ваш текущий рабочий каталог теперь будет: /var/www/html/. Вы можете проверить это с помощью команды pwd(напечатать рабочий каталог):

pwd

Теперь используйте wgetдля загрузки установочного пакета Selfoss RSS Reader:

sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip

Обратите внимание: Вы обязательно должны проверить самую последнюю версию, посетив страницу загрузки Selfoss RSS Reader .

Перечислите текущий каталог, чтобы убедиться, что вы успешно загрузили файл:

ls -la

Удалить index.html:

sudo rm index.html

Давайте быстро установим, unzipчтобы распаковать файл:

sudo apt-get -y install unzip

Теперь распакуйте архив zip:

sudo unzip selfoss-2.17.zip

Переместите все установочные файлы в корневой веб-каталог:

sudo mv -v selfoss-2.17/* selfoss-2.17/.* /var/www/html 2>/dev/null

Измените владельца веб-файлов, чтобы избежать проблем с разрешениями:

sudo chown -R www-data:www-data * ./

Перезапустите Apache снова:

sudo systemctl restart apache2

Шаг 8: Установите и запустите Composer

Selfoss RSS Reader требует от нас, чтобы composerзагрузить некоторые плагины, поэтому давайте установим composer:

sudo apt-get -y install composer

Теперь убедитесь, что вы находитесь в каталоге webroot:

cd /var/www/html

Запустите composer, используя www-dataпользователя:

sudo -u www-data composer install 

Вы увидите несколько предупреждающих сообщений composerо невозможности записи в кэш, но не слишком переживайте по этому поводу, поскольку все будет работать нормально.

Теперь мы готовы перейти к последнему этапу.

Шаг 9: Завершите установку Selfoss RSS Reader

  1. Сначала нам нужно обновить файл конфигурации Selfoss RSS Reader, указав config.iniправильные настройки базы данных, поэтому убедитесь, что вы все еще находитесь в каталоге webroot, и скопируйте defaults.iniв config.ini:

    sudo cp -iv defaults.ini config.ini
    
  2. Затем откройте config.iniфайл конфигурации и добавьте следующие значения базы данных:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=selfoss_db
    db_username=selfoss_user
    db_password=UltraSecurePassword
    db_port=3306
    
  3. Теперь нам нужно добавить хеш пароля config.ini, но сначала нам нужно его сгенерировать, поэтому перейдите по следующему URL в вашем браузере:

    http://YOUR_VULTR_IP_ADDRESS/password
    

    Затем введите желаемый пароль в Passwordполе и нажмите Generate.

    Просто скопируйте полученное значение хеша в опцию пароля в config.iniфайле, чтобы секция паролей теперь выглядела примерно так:

    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    Примечание. Ваш хэш пароля, очевидно, будет отличаться от хэша, показанного выше, и вы можете выбрать другое имя пользователя.

  4. Удалите все остальные неотредактированные параметры из config.iniфайла, чтобы ваш файл конфигурации выглядел примерно так:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=db1
    db_username=u1
    db_password=usecpass1
    db_port=3306
    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    Примечание. Если вы хотите изменить какой-либо из defaults.iniпараметров, вы можете просто добавить их в список параметров выше.

    Когда вы закончите редактирование файла конфигурации, вы можете сохранить и выйти из файла.

  5. Теперь вы можете войти в Selfoss RSS Reader, посетив домашнюю страницу и введя свое имя пользователя и пароль:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. Если вы хотите, чтобы читатель автоматически обновлял ваши фиды (а вы почти наверняка), вам нужно отредактировать ваш crontab:

    sudo crontab -e
    

    Добавьте следующую строку, чтобы обновлять свои каналы каждый час:

    0 * * * * www-data cd /var/www/html && php cliupdate.php
    

Если вы еще не настроили свои настройки Vultr DNS, вы можете сделать это с помощью панели управления Vultr DNS.

Также желательно настроить ваш сайт для использования SSL, так как большинство современных браузеров будут предупреждать, когда на сайтах не включена поддержка SSL, а сертификаты SSL теперь доступны бесплатно.

В любом случае, теперь вы можете свободно добавлять свои каналы и настраивать читателя, если хотите.



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

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

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

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

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

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

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

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

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