背景:
我最近安装了MAMP,并将其用作生产服务器.服务器设置没有附带FTP服务器,根据我的阅读,您可以通过mod_ftp(Apache模块)设置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
README-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源文件夹之间的文件结构如何需要集成才能使模块正常运行.另外,我不知道我不知道什么,所以可能有一个简单的问题要问,但不幸的是我无法弄清楚如何问它.感谢您的帮助和耐心!
干杯!
P.S.,是的,我已经在互联网上搜了好几个小时.
最佳答案 我最终废弃了MAMP并使用了Mac的内置服务器.通过系统偏好设置>共享菜单,您可以启用文件共享,其中有一个选项窗格,允许您“使用FTP共享文件和文件夹”.我能够通过Comcast Business获取静态IP地址,并在我的路由器的端口21上配置端口转发以接受流量.然后,我可以使用我的FTP客户端连接到我的路由器,例如“123.456.789:21”作为我的主机.不是最好或最安全的解决方案,但它确实有效,所以请耐心等待.