Acabei de instalar o Ubuntu Server 10.04 com uma configuração LAMP. Quero hospedar um site lá, mas não tenho certeza de qual é a melhor maneira de obter / editar meus arquivos no servidor. O Google oferece muitas opções, mas não tenho certeza qual é o melhor.
A menos que haja uma opção melhor, eu gostaria de criar as páginas em outro PC (Windows ou Linux) e usar o SFTP para sincronizar as alterações no servidor - mas faço isso em uma pasta com link simbólico em ~ / ou alterando os direitos na pasta / var / www /?
Respostas:
Cada configuração é diferente. Para mim, tenho muitos usuários em um servidor que hospeda sites. Para você, você provavelmente não precisará criar mais do que apenas um usuário no sistema. No entanto, se você gerenciar vários sites neste servidor, essa configuração o ajudará a gerenciar, configurar e depurar cada domínio de uma maneira mais fácil do que uma instalação LAMP padrão. Para que isso aconteça, utilizo vários dispositivos do Apache para contornar erros de permissão.
Primeiro, esta é a estrutura do documento que eu uso:
Cada usuário tem sua própria conta com uma pasta de domínios (que eu adicionei para
/etc/skel
que seja criada toda vez. Cada domínio tem sua própria pasta nadomains
pasta com umahtml
pasta (eu tenho meus motivos para isso, principalmente para que os domínios possam ter arquivos da Web externos do domínio público). Sinta-se à vontade para modificar essa estrutura como achar melhor, lembre-se de realizar essas alterações ao longo deste post.Em segundo lugar, eu hospedo muitos sites PHP, então uso o suPHP na minha configuração. Por padrão, o pacote de arquivamento padrão não tem o sinalizador de compilação adequado ativado, resultando em uma versão menos segura do suPHP. Criei meu próprio pacote suPHP, que uso nos meus servidores, instruções de instalação abaixo. O suPHP permite definir como os scripts PHP do usuário devem ser executados (entre outras coisas, incluindo: php.ini personalizado para cada site, etc.). Também habilito o suExec para Apache - removendo ainda mais a necessidade de ter qualquer propriedade do usuário www-data (um usuário que eu desprezo).
Primeiro, verifique se você possui o Apache e todos os outros serviços instalados no seu servidor. Verifique se eles estão trabalhando pelo menos. Depois disso, recomendo instalar o suphp-common e o módulo libapache2-mod-suphp necessário (Mais informações: O que são PPAs e como os uso? ). Depois, após a instalação, ative o suPHP e o suexec usando
a2enmod
Em seguida, virá o arquivo de configuração. Criei várias ferramentas que geram automaticamente os arquivos de configuração sempre que adiciono um novo site; no entanto, aqui está o modelo básico que eu uso:
Isso configura o log para esse domínio, a raiz do documento e todas as outras necessidades básicas para o domínio operar. Coloco esses arquivos
/etc/apache2/sites-available/
normalmente nomeados[USER]-[DOMAIN]
e os habilito / desabilito da seguintea2ensite
forma:Após cada modificação nos arquivos de configuração, o Apache precisará ser recarregado com
Embora possa parecer muito configurar a quantidade de flexibilidade adquirida, na minha opinião, supera em muito o tempo de configuração. Embora você precise apenas de um servidor da web de usuário único, no futuro, se quiser algo além de um servidor da web de usuário único, será necessário executar ações adicionais (ou simplesmente descartar a segurança todos juntos) para fazer isso.
fonte
O Sftp é muito fácil de instalar. Basta instalar o pacote
openssh-server
e você terá o sftp. Certifique-se de que seu usuário tenha uma boa senha, se você puder acessá-la na Internet. (Mais de 8 caracteres, não uma palavra do dicionário, possui símbolos e números).Para obter permissões, eu geralmente faço isso.
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
Você poderá postar páginas conectando-se ao sftp (usando seu nome de usuário e senha) e depois indo para a pasta / var / www e colocando seus arquivos lá.
fonte
Eu uso o webdav. É muito fácil de instalar no Ubuntu Server. Se você possui o apache instalado, está quase pronto. Apenas
sudo a2enmod dav; service apache2 restart
. Você precisará fazer uma pequena configuração do seu site virtual. Aqui está um exemplo que estou usando na produção:Você pode colocar isso em / srv / etc / apache2 / sites-available / mysite e então fazer
sudo a2ensite mysite; sudo service apache2 reload
.O que está acontecendo aqui é que você criou dois sites virtuais. Um é www.mysite.com e o outro é webdav.mysite.com. O PHP foi desativado no webdav.mysite.com, o que é importante.
Agora você pode acessar seu site via http no Ubuntu, Windows e MacOS. Todos os três construíram suporte a webdav. Aqui estão as instruções sobre como adicionar um local de rede webdav no Ubuntu .
fonte
mkdir -p /srv/mysite/www; chown -R www-data.www-data /srv/mysite
.Eu daria permissões de gravação para / var / www nos dados de www e adicionaria seu usuário a esse grupo. Dessa forma, seria fácil controlar quais usuários podem gravar nesse diretório.
fonte
Você está usando alguma estrutura para o seu site? Drupal, Wordpress, etc? O Drupal, por exemplo, possui ferramentas para fazer upload via interação do navegador.
Você já olhou para o Samba? Você pode configurar um compartilhamento Samba (e há muitos recursos na Web para eles) e simplesmente usar o Windows Explorer para abrir / editar / salvar / excluir. Configure / var / www para ser compartilhado e, em seguida, mapeie a "unidade de rede" para o Windows.
Este é um ambiente de trabalho ou doméstico? Parece um lar, mas se você estiver em um ambiente de trabalho ... poderá emparelhar o Samba com o Active Directory com ferramentas como Likewise-Open. Eu tenho uma configuração de servidor / site para que aqueles na loja de TI possam fazer login nos dois lados do servidor (linux ou site) por meio de suas credenciais do AD.
Eu também sugeriria olhar para algo como Mercurial. Crie um repositório no servidor e sincronize com o Windows através de algo como o TortiseHG. Suponho que seja como o rsync, mas você teria versões, backups, capacidade de distribuir etc. (SVN, Mercurial, Git, etc, todas as opções)
fonte
Você pode usar sshfs. https://help.ubuntu.com/community/SSHFS
fonte
Você está atrás de algo assim
fonte