sudo apt-get update
sudo apt-get install nginx
Digite no navegador:
http://ip_do_servidor
sudo apt-get install mysql-server
sudo mysql_install_db
Para finalizar, rode este comando configuração ativação/desativação de acesso remoto entre outros:
sudo mysql_secure_installation
Você vai precisar da senha de root do MySQL.
O MySQL vem configurado para ser acessado através da porta 3306. Para alterar essa porta, digite o comando:
sudo vim /etc/mysql/my.cnf
Há dois lugares onde se deve alterar a porta. São eles:
[client] port = numero_da_porta
e
[mysqld] port = numero_da_porta
É preciso informar ao MySQL qual usuário e ip que estarão autorizados a acessar o banco de dados remotamente. Para isso precisamos comentar uma linha no mesmo arquivo /etc/mysql/my.cnf.
Procure por:
bind-address 127.0.0.1
Deixe assim:
#bind-address 127.0.0.1
Após isso, dentro do servidor, entre no MySQL com o comando:
mysql -u NOMEDOUSUARIO -P PORTA -p
Digite a senha.
Dentro do MySQL, digite os comandos:
GRANT ALL PRIVILEGES ON *.* TO 'NOMEDOUSUARIO'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Este comando dá todos os privilégios ao usuário vindas de qualquer IP a todos os banco de dados e tabelas.
O ideal é criar um usuário especifíco para acesso remoto ao MySQL. Para criar um novo usuário já com essas permissões, digite:
GRANT ALL PRIVILEGES ON *.* TO 'NOMEDEUSUARIO'@'%' IDENTIFIED BY 'SENHA' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Se preferir, você pode especificar um único IP com acesso remoto.
GRANT ALL PRIVILEGES ON *.* TO 'NOMEDOUSUARIO'@'NUMERODOIP' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Feito isso, reinicie o MySQL.
sudo service mysql restart
sudo apt-get install php5-fpm php5-mysql
sudo apt-get install php5 php5-mcrypt
sudo vim /etc/php5/fpm/php.ini
Procure por cgi.fix_pathinfo. Sua linha deve estar comentada. Descomente-a e deixe-a da seguinte forma:
cgi.fix_pathinfo=0
Isso é feito, por questões de segurança, porque o PHP, por padrão, executa o arquivo mais próximo se um arquivo PHP não for encontrado. Essa alteração previne a execução de scripts maliciosos por um invasor.
Salve o arquivo e feche.
Rode o seguinte comando para efetivar as alterações:
sudo service php5-fpm restart
Entre no arquivo:
/etc/nginx/sites-available/default
Encontre o bloco server. Ele deve se parecer com isso:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
Precisamos fazer algumas modicações nessa parte.
- Para cada site, precisamos criar um bloco server.
- Precisamos adicionar index.php como primeiro valor de index para permitir que o Nginx execute os arquivos PHP.
- Precisamos alterar o valor de server_name para apontar para o domínio ou IP.
- Precisamos adicionar a diretiva try_files para previnir que o Nginx envie requisições quebradas para o PHP processor.
Com as alterações, o arquivo deve ficar assim:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name server_domain_name_or_IP;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Feito isso, reinicie o Nginx:
sudo service nginx restart
sudo vim /usr/share/nginx/html/info.php
Insira o conteúdo:
<?php
phpinfo();
?>
Salve e feche o arquivo.
Agora, você pode visitar esta página em seu navegador com o domínio ou IP seguido de /info.php
Você pode remover este arquivo com o comando:
sudo rm /usr/share/nginx/html/info.php
Os passos anteriores instalam o PHP 5.5. Para projetos atuais que utilizam o framework Laravel 5.1, precisamos da versão 5.6 do PHP. Para termos a versão atual do PHP rode o comando:
sudo add-apt-repository ppa:ondrej/php5-5.6
Este comando adiciona o repositório com a versão do 5.6 do PHP. Aperte Enter para confirmar e espere a finalização do processo. Para atualizar:
sudo apt-get update
sudo apt-get install php5
Terminado o processo de instalação, verifique a versão do PHP com o comando.
php -v
Feita a instalação do PHP, podemos agora instalar outros pacotes que são necessários para desenvolvimento web. Para isso, digite o seguinte comando:
sudo apt-get install curl build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion git git-svn gitk ssh libssh-dev
Não se preocupe muito com o que cada um desses pacotes faz. São pacotes básicos que estão presentes em todo servidor web.
Se for trabalhar com banco de dados Redis (ex.: Laravel, Ruby on Rails), instale os pacotes:
sudo apt-get install redis-server libhiredis-dev
Para trabalhar com cache de aplicações, use o Memcache:
sudo apt-get install memcache libmemcached-dev
Muitas aplicações precisam mainipular imagens. Para isso, instalamos o Imagemagick:
sudo apt-get install imagemagick libmagickwand-dev
Frameworks como Laravel e Ruby on Rails utilizam NPM / Node.js. Para instala-los, vamos usar o gerenciador NVM. Digite o comando:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
Terminado o processo, digite:
source ~/.bashrc
nvm --version
Para instalar o Node.js:
nvm install 5.0.0
node -v
npm -v
Verifique a versão atual no site do Node.js
O framework Laravel usa o Composer para gerenciamento de dependências. Para instalar, digite o comando:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Aguarde todo o processo de instalação e digite composer
.
Tudo pronto para começar a trabalhar com Laravel no seu servidor!
Referências: