我对 WAMP 非常熟悉,现在该使用 LAMP 了。
我对 Linux 了解甚少,刚刚完成操作系统的设置。
我的问题基本上是:
- 安装 lamp 包和逐个安装 AMP 有什么区别吗?
- 我应该赋予每个文件夹什么权限?(www 及其子文件夹)
- windows 的 hosts 文件,在 linux 中该如何做?
- 是否有类似 Windows 托盘中的“控制面板”?
还有一个问题:
考虑到我首选的 FW 是 cakePHP,我应该知道什么?
谢谢
答案1
首先,一定要检查Ubuntu 服务器指南,它包含大量有关安装 Web 服务器、数据库和 LAMP 应用程序的信息。
- 如下所示(与我首先写的相反)Ubuntu 确实有一个
lamp
包。
它安装以下软件包:
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
基本上所有你需要的。如果你手动安装软件包,你基本上需要相同的软件包。请注意,许多 Apache 模块是单独安装的。因此,如果你想在 Apache 中集成 OpenID 身份验证,你需要安装该libapache2-mod-auth-openid
软件包。幸运的是,Ubuntu 有一种方法可以检测软件包之间的依赖关系,所以你不需要手动安装所有东西。如果你发现缺少一些可以使用的功能apt-cache search keyword
(请参阅这个问题),或者,如果您已经aptitude
安装了该包:aptitude search keyword
。
例如,如果我想找到 PHP Pear 包,我会这样做:
$ aptitude search php |grep pear
v pear-phpunit-channel
i A php-pear
它向我显示了该php-pear
包(注意,i
行开头的 表示该包已安装。同样,在寻找 PHP GD 包时我输入:
$ 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
这里的php5-gd
包看起来最有希望(并且已经安装)。
- 默认安装后,所有权限都应正确设置。权限在软件包安装期间设置。
- 通常,名称解析应通过 DNS 而不是本地文件进行
hosts
。或者您指的是小型家庭服务器?如果是那样的话,请查看/etc/hosts
。 - 与 Windows 不同。您安装的是哪个版本的 Ubuntu,Ubuntu Server 还是桌面版本之一?假设您安装了 Ubuntu Server,则没有安装图形用户界面。在 Linux 上,配置是通过文本文件完成的,这些文件可以在目录中找到
/etc/
。例如,Apache 通过 中的文件进行配置/etc/apache2
,MySQL/etc/mysql
和 PHP 中的文件进行配置/etc/php5
。
答案2
任务lamp-server^
包只是一个依赖于一大堆单独包的包。它与单独安装这些包完全相同。您可以看到它将安装什么:
apt-cache depends lamp-server^
目录和权限结构在很大程度上取决于您。有些人会更改配置以指向使用不同的用户并指向不同的目录,有些人会将他们的用户添加到组中,www-data
以便他们可以直接写入/var/www
。我个人会将两者混合使用。
Linux 上的对应代码%SystemRoot%\system32\drivers\etc\hosts
是/etc/hosts
。我觉得他们从我们这里偷了它 ☺
不确定您说的控制面板是什么意思。有各种 Web GUI 工具,如 Webmin 和 Cpanel,用于管理系统。我提倡学习如何通过 SSH 正确执行操作。如果您不愿意这样做,这可能表明您不适合维护服务器。我并不是不客气地说,但服务器维护是一项持续的工作,面向 Web 的 Web 管理脚本只能在某些时候提供帮助。从长远来看,它更有可能成为入口载体,而不是救星。