背景:
我最近安装了 MAMP,并将其用作生产服务器。服务器设置没有附带 FTP 服务器,根据我的阅读,您可以通过 Apache 模块 mod_ftp 设置 FTP 服务器。我不是 Apache 软件或服务器管理员方面的专家,尽管我可以快速学习。我可以达到以下几点,然后我被卡住了。有人可以帮我吗?
我从存储库中检查了 mod_ftp 模块文件,这里:http: //svn.apache.org/repos/asf/httpd/mod_ftp/trunk/ 并将内容解压缩到:
/Applications/MAMP/mod_ftp
我打开了 README-FTP 文件(在这里):http:
//svn.apache.org/repos/asf/httpd/mod_ftp/trunk/README-FTP
自述文件-FTP:
To build and install as a DSO outside of the httpd source
build, from the ftp source root directory, simply;
./configure.apxs
make
make install
...
To build static, or as a DSO but within the same build as httpd,
copy the entire ftp source directory tree on top of your existing
httpd source tree, and from the httpd source root directory
./buildconf (to pick up ftp)
./configure --enable-ftp {your usual options}
and proceed as usual.
一些问题:
“从 ftp 源根目录在 httpd 源构建之外构建和安装 DSO”——ftp 源根目录是我从存储库中签出的压缩文件创建的mod_ftp文件夹吗?
“在 httpd 源代码构建之外”是什么意思?-- 这是我在 httpd.conf 中设置为“/Applications/MAMP/Library”的 ServerRoot 值吗?
同样,“在同一个 httpd 构建中”是什么意思——这是指什么位置?
我如何知道我想要静态构建还是 DSO 构建?
什么是声明:“将整个 ftp 源目录树复制到现有的 httpd 源代码树之上”实际上要求我这样做?(在上面??如在httpd源码树的父目录中,还是在同一目录中?)
如果你做到了这一点,我想赞扬你!
从这一点开始,我选择了第一个选项,并将 README-FTP 中看到的命令输入到我的终端中。
这是我的终端的样子:
$ ./configure.apxs
Configuring mod_ftp for APXS in /usr/sbin/apxs
Detecting features
Finished, run 'make' to compile mod_ftp
Run 'make FTPPORT=8021 install' to install mod_ftp
(The default FTPPORT is 21 if not specified)
The manual pages ftp/index.html and mod/mod_ftp.html
will be installed to help get you started.
The conf/extra/ftpd.conf will be installed as an example
for you to work from. In your configuration file,
/private/etc/apache2/httpd.conf
uncomment the line '#Include conf/extra/ftpd.conf'
to activate this example mod_ftp configuration.
$ make
Making all in modules/ftp
$ sudo make install
Password:
Making install in modules/ftp
/usr/share/apr-1/build-1/libtool --silent --mode=install cp mod_ftp.la /usr/libexec/apache2/
Installing configuration files
for i in /private/etc/apache2/httpd.conf /private/etc/apache2/original/httpd.conf; do \
if test -f $i; then \
(awk -f /applications/mamp/library/mod_ftp/build/addloadexample.awk \
-v MODULE=ftp -v DSO=.so -v LIBPATH=libexec/apache2 \
-v EXAMPLECONF=/private/etc/apache2/extra/ftpd.conf \
< $i > $i.new && \
mv $i $i.bak && mv $i.new $i \
) || true; \
fi; \
done
Preserving existing FTP documents
Installing header files
Installing online manual
$
那么我该怎么做呢?我在任何地方都看不到 mod_ftp.so,而且我特别关注这个目录:
/Applications/MAMP/Library/modules (where all of Apache's other mod_*.so files are...)
和这个目录:
/Applications/MAMP/mod_ftp/modules/ftp (where all of mod_ftp's various .c, .h and other files are)
最终,我认为我遇到的问题是我不明白我的 mod_ftp 源文件夹和 httpd 源文件夹之间的文件结构需要如何集成才能使模块正常运行。另外,我不知道我不知道什么,所以可能有一个简单的问题要问,但不幸的是我不知道如何问。感谢您的帮助和耐心!
干杯!
PS,是的,我已经在互联网上搜索了几个小时。