Enviado em 14/06/2017 - 15:26h
Boa tarde, galera! Na realização de meu curso, foi pedido para que fosse feito a criação de um Servidor que possuisse FTP, Apache e MySql! Com isso, resolvi compartilhar a fórmula com vocês!
Toda essa instalação será feita em um Ubuntu Server, feita totalmente pelo Terminal!
Começaremos pela instalação do FTP, para facilitar o envio dos arquivos para nosso servidor! Utilizaremos o PROFTPD para isso!
• Vamos instalação ProFTPD:
# apt-get install proftpd
Para configurar o seu servidor FTP, edite o arquivo
de configuração e altere as diretivas listadas a
seguir:
# vi /etc/proftpd/proftpd.conf
• A primeira coisa a fazer é modificar a linha
"UseIPv6", deixando-a como "off", pois caso
contrário, você terá que utilizar o endereço IPv6:
UseIPv6 off
• A próxima linha a ser modificada é a do
"ServerName", coloque o nome do seu servidor
entre as aspas:
ServerName “FTP Gustavo"
• Agora adicionaremos a opção
"AllowForeignAddress", esta linha é a responsável
por autorizar as conexões externas. Se estamos
usando um FTP, lógico que a intenção não é usá-lo
internamente, então, essa linha deve estar
presente no arquivo:
AllowForeignAddress on
• Outra opção é a "RequireValidShell", deixando ela
como "off", o ProFTPD irá aceitar conexões de
usuários que não possuem shell válida no sistema,
consequentemente, usuários sem shell não podem
utilizar o SSH, por exemplo:
RequireValidShell off
• Mais uma opção é a "MaxInstances", que define a
quantidade de conexões simultâneas que o
servidor aceitará:
MaxInstances 20
• Cada usuário do FTP pode ter uma mensagem de
login diferente. Crie o arquivo welcome.msg no
home do usuário.
Reinicie o ProFTPD:
# /etc/init.d/proftpd restart
Pronto, após esses passos, seu servidor estará apto a receber arquivos via FTP, basta pegar seu IP, pelo comando: "ifconfig" e acessar por qualquer máquina!
Controlando Usuários:
• O comando useradd é usado para registrar contas de usuário no
sistema. A sintaxe desse comando é a seguinte:
• useradd [opções] nome_usuário
• Algumas opções para esse comando:
• -u user_ID: especifica o user_ID que será atribuído a esse usuário. Se
essa opção for omitida, o sistema atribuirá um número automaticamente
• -g group_ID: especifica o grupo_ID do grupo primário ao qual o usuário
pertencerá. Se essa opção for omitida, um novo grupo com o mesmo
nome do usuário será criado automaticamente;
• -G grupo1 [, grupo2...]: especifica múltiplos grupos aos quais um
usuário pode pertencer.
• -c comment: permite adicionar comentários sobre o usuário, se
necessário.
• -d home_directory: especifica o home directory do usuário, que é um
diretório atribuído a cada usuário.
• -m: usado com a opção -d para criar o home directory do usuário, caso
ele ainda não exista.
• -s login_shell: especifica o tipo de Shell (interpretador de comandos)
que será atribuído ao usuário.
• -e data_expiração: define uma data de validade para essa conta de
usuário. A data deve ser especificada no formato "AAAAMMDD", por
exemplo, 20050412 (12 de abril de 2005).
• Nome_usuário: define um nome para a conta de usuário que deve ser
usado no login.
• usermod [Opções] nome_usuário
• Esse comando é usado para atualizar informações sobe a conta do
usuário. Todas as opções para o comando useradd estão disponíveis
para esse comando.
• userdel [opções] nome_usuário
• Esse comando é usado para excluir uma conta de usuário. A opção -r
pode ser usada para que o home directory do usuário também seja
excluído.
________________________________________________________________________________________________________
Na segunda parte, iremos instalar o Apache, para podermos ter sites em nosso servidor!
Instalar o Apache:
# apt-get install apache2
Configurando:
Crie um diretório dentro de "/var/www/" para que seja a pasta daquele determinado site/usuário.
Crie um arquivo dentro do diretório "/etc/apache2/sites-available"
# vi /etc/apache2/sites-available/site.conf
Dentro desse arquivo, é necessário ter os seguintes comandos:
ServerAdmin –Define o e-mail do administrador do site.
ServerName –Define o nome (será a presentado) do servidor web.
DocumentRoot –Informa o diretório que contém as páginas
(documentos) web do servidor.
<Directory></Directory> - Permite especificar diretivas que se aplicam
somente ao diretório especificado .
DirectoryIndex –Define a página inicia l de um diretório web.
ErrorLog - Arquivo padrão de erros.
• AllowOverride –Permite especificar que diretivas declara
das no arquivo de controle de acesso podem se
“sobrepor” a diretivas encontradas anteriormente no
arquivo de configuração (default ).
• Allow –Permite definir uma lista de hosts que terão acesso liberado
a um determinado diretório. (ex, Allow from 127.0.0.1)
• Deny –Oposto de allow. (ex, Deny from all)
• Order –Permite especificar a ordem em que as diretivas de controle
de acesso serão lidas. (e x, Order deny,allow)
• AuthType –Define o tipo de autenticação (Basic ou Digest).
• AuthName –Define o rótulo (label) da janela de pedido de
autenticação.
• AuthUserFile –Define o nome do arquivo contendo o nome e a
senha (lista de usuários) que pode acessar o diretório.
• AuthGroupFile –Define o nome do arquivo contendo os nomes dos
grupos de usuários que podem a cessar o diretório .
• Require –Permite especificar quais usuários ou grupos podem
acessar um diretório. Mais de um, se parados por espaço
Após realizados essas ações, você já poderá fazer o upload dos arquivos HTML para dentro da pasta criada em /
__________________________________________________________________________________________________________
Instalação do MySql:
O mais simples é a instalação do MySql, uma vez que não é necessita de uma configuração!
Ele vai nos ajudar na hora de organizarmos nossas bases de Dados, onde nossos sites e aplicações irão armazenar dados!
Instalando MySql:
__________________________________________________________________________________________________________
Por último, iremos instalar o PHP7 em nosso servidor, para que haja possibilidade de execução de scripts, conexões aos nossos bancos de dados e etc...
Para isso, será necessário que os seguintes comando sejam realizados no terminal:
1. sudo add-apt-repository ppa:ondrej/php
2. sudo apt-get update
3. sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mcrypt php7.0-mysql
__________________________________________________________________________________________________________
Assim, finalizamos a instalação do nosso servidor e ele está pronto para a realização de tarefas como:
-Upload e Download de Arquivos via FTP
-Acesso a sites
-Comandos de PHP
-Armazenamento de Bancos De Dados!
Espero que essas informações ajudem vocês! Obrigado pela atenção!
Toda essa instalação será feita em um Ubuntu Server, feita totalmente pelo Terminal!
Começaremos pela instalação do FTP, para facilitar o envio dos arquivos para nosso servidor! Utilizaremos o PROFTPD para isso!
• Vamos instalação ProFTPD:
# apt-get install proftpd
Para configurar o seu servidor FTP, edite o arquivo
de configuração e altere as diretivas listadas a
seguir:
# vi /etc/proftpd/proftpd.conf
• A primeira coisa a fazer é modificar a linha
"UseIPv6", deixando-a como "off", pois caso
contrário, você terá que utilizar o endereço IPv6:
UseIPv6 off
• A próxima linha a ser modificada é a do
"ServerName", coloque o nome do seu servidor
entre as aspas:
ServerName “FTP Gustavo"
• Agora adicionaremos a opção
"AllowForeignAddress", esta linha é a responsável
por autorizar as conexões externas. Se estamos
usando um FTP, lógico que a intenção não é usá-lo
internamente, então, essa linha deve estar
presente no arquivo:
AllowForeignAddress on
• Outra opção é a "RequireValidShell", deixando ela
como "off", o ProFTPD irá aceitar conexões de
usuários que não possuem shell válida no sistema,
consequentemente, usuários sem shell não podem
utilizar o SSH, por exemplo:
RequireValidShell off
• Mais uma opção é a "MaxInstances", que define a
quantidade de conexões simultâneas que o
servidor aceitará:
MaxInstances 20
• Cada usuário do FTP pode ter uma mensagem de
login diferente. Crie o arquivo welcome.msg no
home do usuário.
Reinicie o ProFTPD:
# /etc/init.d/proftpd restart
Pronto, após esses passos, seu servidor estará apto a receber arquivos via FTP, basta pegar seu IP, pelo comando: "ifconfig" e acessar por qualquer máquina!
Controlando Usuários:
• O comando useradd é usado para registrar contas de usuário no
sistema. A sintaxe desse comando é a seguinte:
• useradd [opções] nome_usuário
• Algumas opções para esse comando:
• -u user_ID: especifica o user_ID que será atribuído a esse usuário. Se
essa opção for omitida, o sistema atribuirá um número automaticamente
• -g group_ID: especifica o grupo_ID do grupo primário ao qual o usuário
pertencerá. Se essa opção for omitida, um novo grupo com o mesmo
nome do usuário será criado automaticamente;
• -G grupo1 [, grupo2...]: especifica múltiplos grupos aos quais um
usuário pode pertencer.
• -c comment: permite adicionar comentários sobre o usuário, se
necessário.
• -d home_directory: especifica o home directory do usuário, que é um
diretório atribuído a cada usuário.
• -m: usado com a opção -d para criar o home directory do usuário, caso
ele ainda não exista.
• -s login_shell: especifica o tipo de Shell (interpretador de comandos)
que será atribuído ao usuário.
• -e data_expiração: define uma data de validade para essa conta de
usuário. A data deve ser especificada no formato "AAAAMMDD", por
exemplo, 20050412 (12 de abril de 2005).
• Nome_usuário: define um nome para a conta de usuário que deve ser
usado no login.
• usermod [Opções] nome_usuário
• Esse comando é usado para atualizar informações sobe a conta do
usuário. Todas as opções para o comando useradd estão disponíveis
para esse comando.
• userdel [opções] nome_usuário
• Esse comando é usado para excluir uma conta de usuário. A opção -r
pode ser usada para que o home directory do usuário também seja
excluído.
________________________________________________________________________________________________________
Na segunda parte, iremos instalar o Apache, para podermos ter sites em nosso servidor!
Instalar o Apache:
# apt-get install apache2
Configurando:
Crie um diretório dentro de "/var/www/" para que seja a pasta daquele determinado site/usuário.
Crie um arquivo dentro do diretório "/etc/apache2/sites-available"
# vi /etc/apache2/sites-available/site.conf
Dentro desse arquivo, é necessário ter os seguintes comandos:
<VirtualHost *:80>
ServerName www.dominio.com.br
ServerAdmin admin@dominio.com.br
DocumentRoot /var/www/site
DirectoryIndex home.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/site:
Options Indexes FollowSymLinks MultiViews
AllowOverride none
Deny from all
AuthType Basic
AuthName "Digite Usuario e senha"
AuthUserFile /var/www/site/.htpasswd
Require valid-user
Satisfy Any
</Directory>
</VirtualHost>
Explicação de cada linha do comando:ServerName www.dominio.com.br
ServerAdmin admin@dominio.com.br
DocumentRoot /var/www/site
DirectoryIndex home.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/site:
Options Indexes FollowSymLinks MultiViews
AllowOverride none
Deny from all
AuthType Basic
AuthName "Digite Usuario e senha"
AuthUserFile /var/www/site/.htpasswd
Require valid-user
Satisfy Any
</Directory>
</VirtualHost>
ServerAdmin –Define o e-mail do administrador do site.
ServerName –Define o nome (será a presentado) do servidor web.
DocumentRoot –Informa o diretório que contém as páginas
(documentos) web do servidor.
<Directory></Directory> - Permite especificar diretivas que se aplicam
somente ao diretório especificado .
DirectoryIndex –Define a página inicia l de um diretório web.
ErrorLog - Arquivo padrão de erros.
• AllowOverride –Permite especificar que diretivas declara
das no arquivo de controle de acesso podem se
“sobrepor” a diretivas encontradas anteriormente no
arquivo de configuração (default ).
• Allow –Permite definir uma lista de hosts que terão acesso liberado
a um determinado diretório. (ex, Allow from 127.0.0.1)
• Deny –Oposto de allow. (ex, Deny from all)
• Order –Permite especificar a ordem em que as diretivas de controle
de acesso serão lidas. (e x, Order deny,allow)
• AuthType –Define o tipo de autenticação (Basic ou Digest).
• AuthName –Define o rótulo (label) da janela de pedido de
autenticação.
• AuthUserFile –Define o nome do arquivo contendo o nome e a
senha (lista de usuários) que pode acessar o diretório.
• AuthGroupFile –Define o nome do arquivo contendo os nomes dos
grupos de usuários que podem a cessar o diretório .
• Require –Permite especificar quais usuários ou grupos podem
acessar um diretório. Mais de um, se parados por espaço
Após realizados essas ações, você já poderá fazer o upload dos arquivos HTML para dentro da pasta criada em /
var/www/
.__________________________________________________________________________________________________________
Instalação do MySql:
O mais simples é a instalação do MySql, uma vez que não é necessita de uma configuração!
Ele vai nos ajudar na hora de organizarmos nossas bases de Dados, onde nossos sites e aplicações irão armazenar dados!
Instalando MySql:
sudo apt-get install mysql-server
Após isso, o MySql já estará instalado e pronto para uso em nossos servidores!__________________________________________________________________________________________________________
Por último, iremos instalar o PHP7 em nosso servidor, para que haja possibilidade de execução de scripts, conexões aos nossos bancos de dados e etc...
Para isso, será necessário que os seguintes comando sejam realizados no terminal:
1. sudo add-apt-repository ppa:ondrej/php
2. sudo apt-get update
3. sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mcrypt php7.0-mysql
__________________________________________________________________________________________________________
Assim, finalizamos a instalação do nosso servidor e ele está pronto para a realização de tarefas como:
-Upload e Download de Arquivos via FTP
-Acesso a sites
-Comandos de PHP
-Armazenamento de Bancos De Dados!
Espero que essas informações ajudem vocês! Obrigado pela atenção!