First of all, be sure to check the Ubuntu Server guide, it has a lot of information on installing a web server, database and LAMP applications.
- As noted below (contrary to what I wrote first) Ubuntu does have a
lamp
package.
It installs the following packages:
libdbi-perl
apache2
apache2-bin
apache2-data
ssl-cert
libapr1
libaprutil1
libaprutil1-dbd-sqlite3
libaprutil1-ldap
apache2-mpm-prefork
libwrap0
libmysqlclient18
mysql-server
libaio1
libapache2-mod-php5
php5-common
php5-cli
libdbd-mysql-perl
libhtml-template-perl
mysql-common
libterm-readkey-perl
tcpd
mysql-client-5.5
mysql-client-core-5.5
mysql-server-5.5
mysql-server-core-5.5
php5-readline
php5-json
php5-mysql
Basically all you need. If you'd install packages by hand, you'd basicall need the same packages anyway. Note that many Apache modules are installed separately. So, if you'd want to integrate OpenID authentication in Apache for example, you need to install the libapache2-mod-auth-openid
package.
Luckily Ubuntu has a way to detect dependencies between packages, so you don't need to install everything be hand. If you find out you are missing some functionality you can use apt-cache search keyword
(see this question), or, if you have the package aptitude
installed: aptitude search keyword
.
For example, if I want to find the PHP Pear package I do:
$ aptitude search php |grep pear
v pear-phpunit-channel
i A php-pear
which shows me the php-pear
package (note, the i
at the beginning of the line means the package is installed. Similarly, when looking for the PHP GD package I type:
$ aptitude search php |grep gd
i A php5-gd - GD module for php5
p php5-gd:i386 - GD module for php5
p php5-gdcm - Grassroots DICOM PHP5 bindings
p php5-gdcm:i386 - Grassroots DICOM PHP5 bindings
p php5-vtkgdcm - Grassroots DICOM VTK PHP bindings
p php5-vtkgdcm:i386 - Grassroots DICOM VTK PHP bindings
Here the php5-gd
package seems the most promising (and is installed).
- After a default install, all permissions should be set correctly. Permissions are set during package installation.
- Normally name resolution should be done via DNS, not a local
hosts
file. Or are you talking about a small home server? In that case have a look at /etc/hosts
.
- Not in the same sense as Windows has. Which Ubuntu version did you install, Ubuntu Server or one of the desktop editions? Assuming you installed Ubuntu Server, there is no graphical user interface installed. On Linux configuration is done via text files, which can be found in the
/etc/
directory. For example, Apache is configured via files in /etc/apache2
, MySQL in /etc/mysql
and PHP in /etc/php5
.