Recentemente publiquei aqui como Alterar localização da pasta htdocs no Xampp no Linux e Criar virtual hosts no Xampp/Linux.
Acho que são boas soluções, mas eu vinha de uma configuração onde tinha tudo num só local. Muito fácil de fazer backup e controlar.
Senti necessidade de fazer o mesmo nesta minha configuração do linux.
Pretendia mover a totalidade da pasta:
/opt/lampp
para o meu directório
home/username
Primeiro porque dediquei a maior parte do meu espaço em disco para o diretório /home e sei que iria ficar sem espaço suficiente ao importar todos os meus trabalhos e bases de dados.
Segundo, não gosto da ideia de ter os meus trabalhos e sites numa localização (Alterar localização da pasta htdocs no Xampp no Linux) e as bases de dados noutra localização (/opt/lampp). Procurei como seria possível mover a totalidade da estrutura de ficheiros e pastas do xampp para a minha diretoria /home.
A solução foi surpreendentemente simples. E funciona!
São apenas duas linhas de código:
No terminal:
sudo mv /opt/lampp $HOME/lampp
sudo ln -s $HOME/lampp /opt/lampp
O primeiro comando move o que queremos, que é /opt/lampp para a nossa diretoria /home/lampp
O segundo comando cria um link simbólico em /opt/lamp/ que irá apontar para /home/lamp/
Com isto, conseguimos "enganar" o sistema deixando referência do xampp em /opt/lampp/ mas o sistema abre na realidade /home/lampp
O resultado final é a pasta do xampp movida na totalidade para onde queriamos e na localização original fica uma pasta com um icon de uma seta.
Assim, para além de termos maior controlo sobre os ficheiros e backups que vamos criando ao longo do tempo, pois estão todos na mesma pasta, não temos de nos preocupar com mais nada. Até os comandos iniciais para iniciar e terminar o xampp são os mesmos.
Sem dúvida que para mim, esta é a configuração que irei fazer sempre que tiver de instalar o xampp.
Importa referir que, mesmo ao mover o xampp na totalidade para a diretoria /home seguindo os dois comandos indicados em cima, não é necessário alterar mais nada nos ficheiros de configuração do xampp. Deixar tudo como vem de origem ao instalar o xampp.
/opt/lampp/htdocs
Antes de seguir a solução descrita em cima, tinha configurado o xampp para abrir os meus trabalhos noutra localização (Alterar localização da pasta htdocs no Xampp no Linux) e (Criar virtual hosts no Xampp/Linux) que apontava também para outra localização. Por isso voltei a alterar os caminhos para as localizações originais, mesmo tendo movido o xampp para /home/ e tenho tudo a funcionar.
Exemplo, voltei a definir o caminho inicial:
<VirtualHost *:80>
DocumentRoot "/opt/lampp/htdocs"
ServerName myvirtualdomain
ServerAlias www.myvirtualdomain
</VirtualHost>
Estive a trabalhar num projeto em que o php usava DocumentRoot para determinar o caminho para tratamento e processamento de ficheiros.
Estava a ter problemas porque tinha o virtualhost configurado para /opt/lampp/htdocs, mas este por sua vez era um symlink que estava noutra localização!
O resultado era que DocumentRoot devolvia um caminho /opt/lampp/htdocs/www, definido no virtual host
O php (__FILE__) que resolve symlinks, devolvia por isso outro caminho /home/USER/lampp/htdocs/www diferente de DocumentRoot o que me causou alguns problemas, até descobrir porquê.
A solução é configurar corretamente o virtual host a apontar para o caminho final verdadeiro.
A minha configuração atual é:
<VirtualHost *:80>
#DocumentRoot "/opt/lampp/htdocs/www"
# __FILE__ in php resolves symlinks, so we must correct DocumentRoot to avoid issues with images in function
DocumentRoot "/home/USER/lampp/htdocs/www"
<Directory "/home/USER/lampp/htdocs/www">
## DISABLE DIRECTORY BROWSING ##
Options FollowSymLinks
## ENABLE DIRECTORY BROWSING ##
Options FollowSymLinks Indexes
AllowOverride All
</Directory>
ServerName myvirtualdomain
ServerAlias www.myvirtualdomain
</VirtualHost>
Boa sorte!
17781 - A minha lista de coisas a fazer depois de instalar o Linux Mint 17.1 Rebecca
13431 - Alterar localização da pasta htdocs no Xampp no Linux
11259 - Instalação de Samba GUI para configuração de redes em ambiente gráfico em Linux
5180 - SJ4000 Full HD Excelente alternativa à GoPro Action Camera