|
|
Line 1: |
Line 1: |
| | | [[Support Funtoo]] and help us grow! '''Donate $15 per month and get a free SSD-based [[Funtoo Hosting|Funtoo Virtual Container]]. 25 spots left. |
| == Pre-install considerations ==
| |
| === ssl ===
| |
| Ssl [http://en.wikipedia.org/wiki/Wildcard_certificate wild card certificates] can use the same certificate to cover several subdomain names. As in https://wiki.funtoo.org https://www.funtoo.org https://forums.funtoo.org can all use the same certificate. https://funtoo.org would not be covered under the wildcard, so [[User:Threesixes|Threesixes]] ([[User talk:Threesixes|talk]]) suggests using http://domain.tld as a http navigation splash page directory. All that is required to setup a ca signed ssl certificate is an email on the server. https://www.startssl.com offers free ssl ca certificates, though there are several other certificate [http://en.wikipedia.org/wiki/Certificate_authority#Providers providers]. Many web apps require you set your URL & will have problems if your URL is set to http://, rather than https://
| |
| | |
| === sockets vs tcp stack ===
| |
| Sockets have less overhead but can not be shared across jails, or to other machines. Tcp stack has more overhead but is far more flexible.
| |
| | |
| === Email Servers ===
| |
| * {{Package|mail-mta/postfix}}
| |
| * {{Package|mail-mta/ssmtp}}
| |
| * {{Package|mail-mta/exim}}
| |
| * {{Package|mail-mta/sendmail}}
| |
| * {{Package|mail-mta/nullmailer}}
| |
| | |
| === FTP Servers ===
| |
| It is common practice to use FTP servers to host files for downloading.
| |
| | |
| * {{Package|net-ftp/vsftpd}}
| |
| * {{Package|net-ftp/proftpd}}
| |
| * {{Package|net-ftp/pure-ftpd}}
| |
| * {{Package|net-ftp/qshare}}
| |
| | |
| == Webserver ==
| |
| Web servers come in several varieties. The most common stack is known as LAMP which stands for linux apache mysql php. [[User:Threesixes|Threesixes]] ([[User talk:Threesixes|talk]]) suggests setting up the web server stack by selecting the database first, then scripting language second, and web server 3rd.
| |
| | |
| === Databases ===
| |
| * {{Package|dev-db/mysql}}
| |
| mariadb is a drop in replacement for mysql <-- default in Funtoo
| |
| * {{Package|dev-db/mariadb}}
| |
| percona is a drop in replacement for mysql
| |
| * {{Package|dev-db/percona-server}}
| |
| * {{Package|dev-db/postgresql-server}}
| |
| * {{Package|dev-db/sqlite}}
| |
| | |
| === Languages ===
| |
| * {{Package|dev-lang/php}}
| |
| * {{Package|dev-lang/perl}}
| |
| * {{Package|dev-lang/python}}
| |
| | |
| === Web Servers ===
| |
| * {{Package|www-servers/apache}}
| |
| * {{Package|www-servers/cherokee}}
| |
| * {{Package|www-servers/nginx}}
| |
| * {{Package|www-servers/tengine}}
| |
| * {{Package|www-servers/lighttpd}}
| |
| | |
| | |
| === Reverse Proxies & load balancing ===
| |
| Reverse proxies are useful, they cache static data, and shuck out cached pages rather than hitting the web server. Several web servers have this functionality built in.
| |
| * {{Package|www-servers/varnish}}
| |
| * {{Package|net-proxy/squid}}
| |
| | |
| == Post install ==
| |
| There are several considerations to take into account with a web server install, such as setting up an email server, setting up a firewall, firewalling web applications, and dynamically firewalling attackers.
| |
| | |
| === Firewalls ===
| |
| * {{Package|net-firewall/nftables}}
| |
| * {{Package|net-firewall/iptables}}
| |
| * {{Package|net-firewall/firewalld}}
| |
| * {{Package|net-firewall/ufw}}
| |
| | |
| === Dynamic Firewalling ===
| |
| * {{Package|app-admin/sshguard}}
| |
| * {{Package|net-analyzer/fail2ban}}
| |
| | |
| === Benchmarking ===
| |
| It's a good idea to benchmark your system, server, & websites. There are several tools to assist you in doing this.
| |
| | |
| * http://yslow.org/
| |
| * http://getfirebug.com/
| |
| * {{Package|app-benchmarks/sysbench}}
| |
| * {{Package|app-benchmarks/phoronix-test-suite}}
| |
| * {{Package|app-benchmarks/iozone}}
| |
| * {{Package|app-benchmarks/piozone}}
| |
| * {{Package|app-benchmarks/siege}}
| |
| * {{Package|app-benchmarks/ramspeed}}
| |
| * {{Package|app-benchmarks/jmeter}}
| |