Como instalar o Selfoss RSS Reader em um FreeBSD 11 FAMP VPS

O Selfoss RSS Reader é um leitor multiuso, live stream, mashup, feed de notícias (RSS / Atom) e agregador universal, baseado na Web, gratuito e de código aberto. O Selfoss RSS Reader possui importação OPML, uma API JSON repousante e seu sistema de plug-in aberto permite que você estenda facilmente a funcionalidade padrão escrevendo seus próprios conectores de dados personalizados. Você pode usar o Selfoss para transmitir ao vivo e coletar todas as suas postagens, tweets, podcasts e feeds em um local central que você pode acessar facilmente a partir de qualquer computador ou dispositivo móvel.

Neste tutorial, instalaremos o Selfoss RSS Reader 2.17 em um FreeBSD 11 FAMP VPS usando o servidor Apache, PHP 7.1, e um banco de dados MariaDB.

Pré-requisitos

  • Uma instância limpa do servidor Vultr FreeBSD 11 com acesso SSH

Etapa 1: adicionar um usuário Sudo

Começaremos adicionando um novo sudousuário.

Primeiro, faça login no seu servidor como root:

ssh root@YOUR_VULTR_IP_ADDRESS

O sudocomando não é instalado por padrão na instância do servidor Vultr FreeBSD 11, portanto, instalaremos primeiro sudo:

pkg install sudo

Agora adicione um novo usuário chamado user1(ou seu nome de usuário preferido):

adduser user1

O addusercomando solicitará muitos detalhes para a conta do usuário; basta selecionar os padrões para a maioria deles, quando fizer sentido. Quando lhe for perguntado se Invite user1 into any other groups?você deve entrar, wheeladicione user1-o ao wheelgrupo.

Agora verifique o /etc/sudoersarquivo para garantir que o sudoersgrupo esteja ativado:

visudo

Procure uma seção como esta:

# %wheel        ALL=(ALL)       ALL

Essa linha nos diz que os usuários que são membros do wheelgrupo podem usar o sudocomando para obter rootprivilégios. Ele será comentado por padrão; portanto, será necessário descomentá-lo e, em seguida, salvar e sair do arquivo.

Podemos verificar a user1associação ao grupo com o groupscomando:

groups user1

Se user1não for um membro do wheelgrupo, você pode usar este comando para atualizar a user1associação ao grupo:

pw group mod wheel -m user1 

Agora use o sucomando para alternar para a nova user1conta de usuário sudo :

su - user1

O prompt de comando será atualizado para indicar que você está conectado à user1conta. Você pode verificar isso com o whoamicomando:

whoami

Agora reinicie o sshdserviço para que você possa efetuar login sshcom a nova conta de usuário sudo não raiz que você acabou de criar:

sudo /etc/rc.d/sshd restart

Saia da user1conta:

exit

Saia da rootconta (que desconectará sua sshsessão):

exit

Agora você pode acessar ssha instância do servidor do host local usando a nova user1conta de usuário sudo não raiz :

ssh user1@YOUR_VULTR_IP_ADDRESS

Se você deseja executar o sudo sem precisar digitar uma senha todas as vezes, abra o /etc/sudoersarquivo novamente, usando visudo:

sudo visudo

Edite a seção do wheelgrupo para que fique assim:

%wheel        ALL=(ALL)       NOPASSWD: ALL

Nota: Desabilitar o requisito de senha para o usuário sudo não é uma prática recomendada, mas é incluído aqui, pois pode tornar a configuração do servidor muito mais conveniente e menos frustrante, especialmente durante sessões mais longas de administração de sistemas. Se você estiver preocupado com as implicações de segurança, sempre poderá reverter a alteração na configuração para o original após concluir suas tarefas de administração.

Sempre que você desejar fazer login na rootconta de usuário a partir da sudoconta, você pode usar um dos seguintes comandos:

sudo -i
sudo su -

Você pode sair da rootconta e retornar à sua sudoconta de usuário a qualquer momento:

exit

Etapa 2: Atualizar o sistema FreeBSD 11

Antes de instalar qualquer pacote na instância do servidor FreeBSD, primeiro atualizaremos o sistema.

Verifique se você está conectado ao servidor usando um usuário sudo não raiz e execute os seguintes comandos:

sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade

Etapa 3: Instale o Apache Web Server

Instale o servidor da web Apache:

sudo pkg install apache24

Digite yquando solicitado.

Agora use o sysrccomando para permitir que o serviço Apache seja executado automaticamente no momento da inicialização:

sudo sysrc apache24_enable=yes

O sysrccomando atualiza o /etc/rc.confarquivo de configuração; portanto, se você deseja verificar a atualização manualmente, basta abrir o /etc/rc.confarquivo com seu editor de terminal favorito:

vi /etc/rc.conf

Agora inicie o serviço Apache:

sudo service apache24 start

Você pode verificar rapidamente se o apache está em execução visitando o endereço IP ou o domínio da instância do servidor no seu navegador:

http://YOUR_VULTR_IP_ADDRESS/

Você verá a página padrão do FreeBSD Apache exibindo o texto:

It works!

Verifique seu arquivo de configuração padrão do Apache para garantir que a DocumentRootdiretiva aponte para o diretório correto:

sudo vi /usr/local/etc/apache24/httpd.conf

A DocumentRootopção de configuração terá a seguinte aparência:

DocumentRoot "/usr/local/www/apache24/data"

Agora precisamos ativar o mod_rewritemódulo Apache. Podemos fazer isso pesquisando o arquivo de configuração padrão do Apache para o termo mod_rewrite.

Por padrão, o mod_rewritemódulo Apache será comentado (o que significa que está desativado). A linha de configuração em uma instância limpa do Vultr FreeBSD 11 terá a seguinte aparência:

#LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Simplesmente remova o símbolo de hash para remover o comentário da linha e carregar o módulo. Obviamente, isso também se aplica a qualquer outro módulo Apache necessário:

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Também precisamos ativar os módulos mod_authz_codee mod_headers, portanto, certifique-se de que eles também não sejam comentados:

LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule headers_module libexec/apache24/mod_headers.so

Agora precisamos editar a Directorydiretiva Apache no mesmo arquivo de configuração para que mod_rewritefuncione corretamente com o Selfoss RSS Reader.

Localize a seção do arquivo de configuração que começa com <Directory "/usr/local/www/apache24/data">e mude AllowOverride nonepara AllowOverride All. O resultado final (com todos os comentários removidos) será mais ou menos assim:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Agora salve e saia do arquivo de configuração do Apache.

Reiniciaremos o Apache no final deste tutorial, mas reiniciar o Apache regularmente durante a instalação e configuração é certamente um bom hábito, então vamos fazê-lo agora:

sudo service apache24 restart

Etapa 4: Instalar o PHP 7.1

Agora podemos instalar o PHP 7.1 junto com todos os módulos PHP necessários exigidos pelo Selfoss RSS Reader:

sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip php71-phar

O FreeBSD 11 nos dá a opção de usar um desenvolvimento php.iniou uma produção php.ini. Como vamos instalar o Selfoss em um servidor público da Web, usaremos a versão de produção. Primeiro, faça backup php.ini-production:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup

Em seguida, faça o link direto php.ini-productionpara php.ini:

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Precisamos configurar o Apache para realmente usar o PHP, então vamos criar um novo arquivo chamado php.confno Includesdiretório Apache :

sudo vi /usr/local/etc/apache24/Includes/php.conf

Digite o seguinte texto no arquivo recém-criado:

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

Salve e saia do arquivo.

Agora vamos reiniciar o Apache para que ele possa recarregar as alterações na configuração:

sudo service apache24 restart

Etapa 5: Instalar o servidor MariaDB (MySQL)

O FreeBSD 11 usa como padrão o servidor de banco de dados MariaDB, que é um substituto aprimorado, totalmente aberto e desenvolvido pela comunidade, para o servidor MySQL.

Instale a versão mais recente do servidor de banco de dados MariaDB:

sudo pkg install mariadb102-server mariadb102-client

Inicie e ative o servidor MariaDB para executar automaticamente no momento da inicialização:

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Proteja a instalação do servidor MariaDB:

sudo mysql_secure_installation

Quando solicitado a criar um rootusuário MariaDB / MySQL , selecione "Y" (para sim) e insira uma rootsenha segura . Simplesmente responda "Y" a todas as outras perguntas de sim / não, pois as sugestões padrão são as opções mais seguras.

Etapa 6: Criar banco de dados para o Selfoss RSS Reader

Efetue login no shell do MariaDB como o rootusuário do MariaDB executando o seguinte comando:

sudo mysql -u root -p

Para acessar o prompt de comando do MariaDB, basta digitar a rootsenha do MariaDB quando solicitado.

Execute as seguintes consultas para criar um banco de dados MariaDB e um usuário de banco de dados para o 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;

Você pode substituir o nome do banco de dados selfoss_dbe o nome de usuário selfoss_userpor algo mais ao seu gosto, se preferir. Além disso, certifique-se de substituir "UltraSecurePassword" por uma senha realmente segura.

Etapa 7: Instale os arquivos do Selfoss RSS Reader

Altere seu diretório de trabalho atual para o diretório da web padrão:

cd /usr/local/www/apache24/data

Seu diretório de trabalho atual será agora: /usr/local/www/apache24/data. Você pode verificar isso com o pwdcomando (print working directory):

pwd

Agora use wgetpara baixar o pacote de instalação do Selfoss RSS Reader:

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

Observação: você deve definitivamente verificar a versão mais recente visitando a página de download do Selfoss RSS Reader .

Liste o diretório atual para verificar se você fez o download do arquivo com sucesso:

ls -la

Remover index.html:

sudo rm index.html

Agora descompacte o arquivo zip:

sudo unzip selfoss-2.17.zip

Mova todos os arquivos de instalação para o diretório raiz da web:

sudo mv -v selfoss-2.17/* selfoss-2.17/.* /usr/local/www/apache24/data 2>/dev/null

Altere a propriedade dos arquivos da web para evitar problemas com permissões:

sudo chown -R www:www * ./

Reinicie o Apache novamente:

sudo service apache24 restart

Etapa 8: Instalar e executar o Composer

O Selfoss RSS Reader exige que usemos composerpara baixar alguns plugins, então vamos instalar composer. Infelizmente, a versão da versão binária pré-criada do compositor nos repositórios de pacotes do FreeBSD não é compatível com o PHP 7.1. Então, ao invés de instalar composercom o pkgcomando, nós o compilaremos a partir do código-fonte.

Primeiro, vamos configurar o sistema FreeBSD 11 para compilar o software PHP usando o PHP versão 7.1 em vez do padrão 5.6.

Crie um novo arquivo no /etc/diretório chamado make.conf:

sudo vi /etc/make.conf

Digite o seguinte texto no arquivo:

DEFAULT_VERSIONS+= php=7.1

Agora salve e feche o arquivo.

Em seguida, precisamos baixar a coleção de portas do FreeBSD usando o portsnapcomando:

sudo portsnap fetch extract update

Quando o portsnapcomando for concluído, mude para o php-composerdiretório de código-fonte:

cd /usr/ports/devel/php-composer/

Agora inicie a php-composercompilação e instalação usando o makecomando:

sudo make install clean BATCH=yes

Quando a compilação estiver concluída, mude para o diretório webroot:

cd /usr/local/www/apache24/data

Execute o compositor usando o wwwusuário:

sudo -u www composer install

Você verá algumas mensagens de aviso composersobre não poder gravar no cache, mas não se preocupe muito com isso, pois tudo ainda será instalado corretamente.

Agora estamos prontos para avançar para a etapa final.

Etapa 9: Instalação completa do leitor Selfoss RSS

  1. Primeiro, precisamos atualizar o arquivo de configuração do Selfoss RSS Reader config.inicom as configurações corretas do banco de dados, para garantir que você ainda esteja no diretório webroot e copie defaults.inipara config.ini:

    sudo cp -iv defaults.ini config.ini
    
  2. Em seguida, abra o config.iniarquivo de configuração e adicione os seguintes valores de banco de dados:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=selfoss_db
    db_username=selfoss_user
    db_password=UltraSecurePassword
    db_port=3306
    
  3. Agora precisamos adicionar um hash de senha config.ini, mas primeiro precisamos gerá-lo, então visite o seguinte URL no seu navegador:

    http://YOUR_VULTR_IP_ADDRESS/password
    

    Em seguida, digite a senha desejada no Passwordcampo e clique em Generate.

    Simplesmente copie o valor do hash resultante para a opção de senha no config.iniarquivo para que a seção de senha agora seja algo como isto:

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

    Nota: Seu hash da senha obviamente será diferente do hash mostrado acima e você pode escolher outro nome de usuário.

  4. Remova todas as outras opções não editadas do config.iniarquivo para que seu arquivo de configuração completo seja semelhante a este:

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

    Nota: Se você deseja alterar qualquer uma das defaults.iniopções, basta adicioná-las à lista de opções acima.

    Quando você terminar de editar o arquivo de configuração, poderá salvar e sair do arquivo.

  5. Agora você pode fazer login no Selfoss RSS Reader visitando a página inicial e digitando seu nome de usuário e senha:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. Se você deseja que o leitor atualize automaticamente seus feeds (e quase certamente o faz), precisará editar seu crontab:

    sudo crontab -e
    

    Adicione a seguinte linha para atualizar seus feeds a cada hora:

    0 * * * * www cd /usr/local/www/apache24/data && php cliupdate.php
    

Se você ainda não definiu as configurações de DNS do Vultr, pode fazê-lo usando o painel de controle do DNS do Vultr.

Também é aconselhável configurar seu site para usar SSL, pois a maioria dos navegadores modernos emitirá avisos quando os sites não têm o SSL ativado e os certificados SSL agora estão disponíveis gratuitamente.

De qualquer forma, agora você pode começar a adicionar seus feeds e personalizar ainda mais seu leitor, se desejar.



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.