Após obter os arquivos fontes da documentação e web site, o site pode ser compilado.
Uma instalação real do web site precisa ser executada pelo usuário root
porque as permissões no diretório do servidor web não permitirão a instalação de arquivos por um usuário não privilegiado. Para testar, pode ser útil instalar os arquivos com um usuário normal em um diretório temporário.
Nestes exemplos, os arquivos do web site são criados pelo usuário jru
em seu diretório home, ~/doc
, com um caminho completo de /usr/home/jru/doc
.
A compilação do web site utiliza o arquivo INDEX
da Coleção de Ports e pode falhar se este arquivo ou /usr/ports
não estiver presente no sistema. A abordagem mais simples é instalar a Coleção de Ports.
Compile o web site e todos os documentos. Os arquivos finais são deixados na árvore de documento:
%
cd ~/doc/en_US.ISO8859-1/htdocs/
%
make all
Compile o web site apenas em Inglês, como usuário jru
, e instale os arquivos finais em /tmp/www
para teste:
%
cd ~/doc/en_US.ISO8859-1/htdocs/
%
env DESTDIR=/tmp/www make ENGLISH_ONLY=yes WEB_ONLY=yes all install
Alterações em arquivos estáticos geralmente podem ser testadas visualizando os arquivos modificados diretamente com um navegador web. Se o web site foi construído como apresentado acima, a página principal modificada pode ser visualizada com:
%
firefox /tmp/www/data/index.html
Modificações em arquivos dinâmicos podem ser testadas com um servidor web rodando no sistema local. Depois de construir o site como apresentado acima, o /usr/local/etc/apache24/httpd.conf
pode ser usado com www/apache24:
# httpd.conf for testing the FreeBSD website Define TestRoot "/tmp/www/data" # directory for configuration files ServerRoot "/usr/local" Listen 80 # minimum required modules LoadModule authz_core_module libexec/apache24/mod_authz_core.so LoadModule mime_module libexec/apache24/mod_mime.so LoadModule unixd_module libexec/apache24/mod_unixd.so LoadModule cgi_module libexec/apache24/mod_cgi.so LoadModule dir_module libexec/apache24/mod_dir.so # run the webserver as user and group User www Group www ServerAdmin you@example.com ServerName fbsdtest # deny access to all files <Directory /> AllowOverride none Require all denied </Directory> # allow access to the website directory DocumentRoot "${TestRoot}" <Directory "${TestRoot}"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> # prevent access to .htaccess and .htpasswd files <Files ".ht*"> Require all denied </Files> ErrorLog "/var/log/httpd-error.log" LogLevel warn # set up the CGI script directory <Directory "${TestRoot}/cgi"> AllowOverride None Options None Require all granted Options +ExecCGI AddHandler cgi-script .cgi </Directory> Include etc/apache24/Includes/*.conf
Inicie o servidor web com
#
service apache24 onestart
O web site pode ser visualizado em http://localhost. Esteja ciente de que muitos links se referem ao site real do FreeBSD por nome, e esses links ainda levar para o site externo em vez da versão de teste local. O teste completo do web site local exigirá a configuração temporária do DNS para que o endereço www.FreeBSD.org
seja resolvido como localhost
ou o endereço IP local.
Compile o web site e todos os documentos como usuário jru
. Instale os arquivos finais como root
no diretório padrão, /root/public_html
:
%
cd ~/doc/en_US.ISO8859-1/htdocs
%
make all
%
su -
Password:#
cd /usr/home/jru/doc/en_US.ISO8859-1/htdocs
#
make install
O processo de instalação não exclui nenhum arquivo antigo ou desatualizado que existia anteriormente no mesmo diretório. Se uma nova cópia do web site for criada e instalada todos os dias, esse comando localizará e excluirá todos os arquivos que não foram atualizados em três dias:
#
find
/usr/local/www
-ctime 3 -delete
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.