Algumas semanas atrás eu resolvi que era chegada a hora de atualizar o sistema operacional do meu Mac para o OS X Mountain Lion. Uma das coisas que foram alteradas após esta atualização foi que a opção Web Sharing sumiu. Utilizando-a era simples eu compartilhar qualquer arquivo simplesmente copiando-o para o diretório ~/Sites. Aviso: este post é destinado para usuários Mac que utilizavam esta opção e querem ter de volta esta alternativa para compartilhar seus arquivos. Independente do seu conhecimento em Apache (pode ser que você pense que estou falando de algum tipo de índio americano) ;) siga em frente na leitura!




Eu não havia notado esta mudança mas, no início desta semana, começei a ministrar um curso e precisei disponibilizar alguns arquivos para meus alunos. Daí, percebi que agora as coisas ficaram menos simples :/. Mas, sem problemas. Com um pouco de paciência, qualquer usuário Mac pode abrir o Terminal e copiar os comandos abaixo para ter seu diretório de compartilhamento funcionando novamente. Então, vamos aos comandos:


  1. Tecle <Command+Espaço> para ir ao "Spotlight", digite "Terminal" e tecle <Return>.
  2. Na janela do Terminal que foi aberta, copie e cole o seguinte conteúdo (do ponto onde termina o "$ " ao final).
    $ sudo bash -c '
    cat > /etc/apache2/users/$SUDO_USER.conf <<EOF 
    <Directory "/Users/$SUDO_USER/Sites/">
         Options Indexes MultiViews FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
    </Directory>
    EOF
    '
    
  3. Reinicie o servidor Apache (é ele que tem o papel de compartilhar o que você publica em teu diretório ~/Sites através de http://SEU_IP_NA_REDE/~SEU_USUARIO:
    $ sudo apachectl restart
    
  4. Para que o Apache possa ser iniciado automaticamente (sem a necessidade da execução do comando acima todas às vezes) execute:
    $ sudo defaults write /System/Library/LaunchDaemons/org.apache.httpd \
    Disabled -bool false
    
  5. Teste se o compartilhamento funciona! Ao executar o comando abaixo, você deverá ver que o conteúdo "Oi! Conseguiu! \o/" ser apresentado no teu browser padrão:
    $ d=~/Sites; mkdir -p $d && echo "Oi! Conseguiu! \o/" > $d/oi.txt; \
    open http://localhost/~`whoami`/oi.txt
    

Prontin!! ;) Compartilhamento restaurado!