Installing mod_ftp on Apache2.4 on Linux

I just completed the lovely process of modifying the Apache FTP module so that it would work on httpd2.4. The current versions of mod_ftp on the repository are built for apache2.2. Between version 2.2 and 2.4 there were a few changes to the core API, which means the modules need to be updated to work with the new API. To update the current module, you need to make 3 general changes.

Basically you will need to do the following:

1) First uninstall and delete your current version of mod_ftp. If you haven’t yet installed mod_ftp, good, otherwise if you have, save your configuration file before you uninstall so that it won’t need to be recreated.

2) Get a complete version of mod_ftp from the repository. I used the trunk (version 1.0.1) when doing my install.

3) Configure with apxs

4) Modify the source files for the new API by replacing all instances of ‘remote_ip’ with ‘client_ip’ and all instances of ‘remote_addr’ with ‘client_addr’.

5) Add a new data structure to the ftp_data_connections.c file. Directly before the ftp_open_dataconn function add the following code.

#if AP_MODULE_MAGIC_AT_LEAST(20111203,0)
struct core_filter_ctx {
apr_bucket_brigade *b;
apr_bucket_brigade *tmpbb;
};
#endif

6) make, make install and restart httpd

 

Later I’ll go through and completely document the process like I have with the other stuff. I don’t have the time currently but this problem thoroughly annoyed me.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s