Hoje resolvi instalar o Laravel no Ubuntu. Sendo um usuário mediano de Linux (sei me movimentar mas não conheço a fundo), já imaginei que fosse ser uma aventura. Estou usando o Ubuntu 14.04.
O site oficial já inicia a instalação a partir do composer, mas eu utilizei os passos que estão neste site porque eu não tinha o stack LAMP instalado ainda, então comecei do zero a partir deste site.
Os passos são os seguintes, já com algumas dicas do que não funcionou. O processo todo comigo demorou cerca de 2 horas, especialmente porque quando um passo não funcionava em algum tutorial eu precisava buscar metade da Internet pra encontrar a resposta que, normalmente, é idiota.
Dica: onde o comando iniciar com $, é comando normal. Onde iniciar com # é porque precisa ser executado como root (usando sudo).
Passo 1: instalar o LAMP
Pra rodar PHP e Laravel você vai precisar do Apache, MySQL e PHP. Comece assim:
Instale o PHP5
# apt-get install python-software-properties # add-apt-repository ppa:ondrej/php5 # apt-get update # apt-get install -y php5 php5-mcrypt
Instale o Apache
# apt-get install apache2 libapache2-mod-php5
Instale o MySQL
# apt-get install mysql-server php5-mysql
Passo 2: instalar o composer
Já é daqui que a documentação oficial inicia, apesar de ser diferente o método, até onde entendi. O composer facilita a vida toda porque ele instala as dependências do Laravel sozinho quando você usa um “$ sudo composer install”
$ cd ~ $ curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer # chmod +x /usr/local/bin/composer
Passo 3: instalar o Laravel
$ cd /var/www # git clone https://github.com/laravel/laravel.git
Assim que clonar o repo do Laravel para a pasta que deseja, você navega até a pasta e deixa o composer fazer o restante. Vai demorar um pouco até baixar e instalar tudo:
$ cd /var/www/laravel # composer install
O próximo passo é adicionar a propriedade do diretório e dizer as permissões. Eu entendi que é mais adequado adicionar o meu usuário ao grupo “www-data” porque se não fico sem permissão pra fazer qualquer modificação nos arquivos ou pastas. Eu li isso em um artigo de Joomla (pra ver onde eu fui parar) e acabei executando o que está abaixo (troque youruser pelo seu nome de usuário do ubuntu):
# adduser youruser www-data
Depois, dê as permissões das pastas e arquivos do Laravel para o grupo:
# chown -R www-data.www-data /var/www/laravel # chmod -R 755 /var/www/laravel
Caso esteja logado no momento com esse usuário, as permissões só terão efeito quando você fizer um logoff e logon novamente. Eu fiquei quase meia hora tentando usar o Atom para editar arquivos da pasta até que percebi isso, já que só me dava permissão negada.
Um passo muito importante: abra o arquivo app.php e altere a string usada para hashes. Se não fizer isso não irá funcionar a instalação. Talvez as permissões que você usou pra instalar já permitiram ao composer fazer isso sozinho, mas no meu caso tive que fazer à mão:
# nano /var/www/laravel/config/app.php
Caso queira gerar uma string usando o artisan (ferramenta que vem com o Laravel), pode fazer
$ cd /var/www/laravel/ $ php artisan key:generate
E então copiar a string para o app.php. Depois é só salvar o arquivo.
Passo 4: criar o virtualhost no Apache
Meu último passo foi criar o virtualhost no Apache, para que possamos acessar a instalação. Edite / crie o arquivo:
# nano /etc/apache2/sites-available/laravel.dev.conf
Copie e cole o conteúdo abaixo neste arquivo
<VirtualHost *:80> ServerName laravel.dev DocumentRoot /var/www/laravel/public <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/laravel> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Finalmente, habilite o site e recarregue o serviço do Apache:
$ a2ensite laravel.dev # service apache2 reload
Dá trabalho mas, no final, a recompensa:
Agora é só encontrar um bom tutorial e começar a aprender.