Upgrade native apache from 2.2.21 to 2.4.2 - Lion 10.7.4 - apache

As stated in the title, i have apache 2.2.21 running natively as part of my LAMP stack. I would like to upgrade apache to the latest version - 2.4.2. Is there a recommended or best practice to safely perform this operation without breaking stuff of loosing existing settings, etc?
Thank you for the time and direction.

I was able to install the latest version (2.4.2) using the steps below.
Install pcre (perl compatible regular-expression library) using fink (or what ever osx package manager you use)
$ fink install pcre
Install the latest (2.4.2 as of writing this) using the steps below
$ sudp apachectl stop
$ cd ~/Downloads/
$ curl -O http://mirror.uoregon.edu/apache//httpd/httpd-2.4.2.tar.gz
$ gzip -d httpd-2.4.2.tar.gz
$ tar xvf httpd-2.4.2.tar
$ cd httpd-2.4.2
$ ./configure
$ make
$ sudo make install
However, the new binaries got installed under /usr/local and doesn't seem to have overridden the default install locations on OSX lion. And I could not find a config.nice file to use as suggested by the apache upgrade documentation.
The original apache files httpd, apachectl and ab were located on /usr/sbin. Without having found any documentation to confirm this was the right thing to do, I went ahead and backed up the original files and sym-linked the new files from /usr/local/bin into /usr/sbin, as follows.
$ cd /usr/sbin
# backup the original files ...
$ sudo ln -s ../local/bin/ab ab
$ sudo ln -s ../local/bin/apachectl apachectl
$ sudo ln -s ../local/bin/httpd httpd
This seems to have worked, although it would be nice to get a confirmation from someone in the know.

Related

AWS EC2 standard AWS AMI with PHP 7.0 - install libsodium recipe

(edited for clarity - rolled in accepted answer)
Libsodium has been prepped for PHP 7. In doing this, the namespace was removed and a prefix of sodium_ for methods and SODIUM_ for constants was added. Also the version methods were removed.
This github page documents all the new functions and constants and the project provides backward compatibility with the \Sodium namespace: https://github.com/Firehed/sodium/blob/master/src/we_cant_have_nice_things.php
Recipe: install Libsodium on PHP 7 on and AWS AMI
# PHP 7.0 Libsodium install AWS AMI
yum install -y php7-pear re2c php70-devel
yum groupinstall -y "Development Tools"
pecl7 install libsodium
vi /etc/php-7.0.d/20-libsodium.ini
; Enable libsodium extension module
extension=sodium.so
service httpd restart
command line test to verify sodium is installed
php7 --info | grep sodium
test php function to verify calling pattern for password hash
<?php
$password = "hello";
$hash_str = sodium_crypto_pwhash_str(
$password,
\SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
\SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
);
var_dump($password, $hash_str);
Thanks to #GracefulRestart for the help.
I see a couple problems here, the first is that your test file appears to be non-functional.
Running your test code with libsodium working in PHP 7 returns the following error:
PHP Fatal error: Uncaught Error: Call to undefined function Sodium\\library_version_major()
If you want to check the version, it may be easier to search the data from the phpinfo() function:
<?php phpinfo(); ?>
# or from CLI
php7 --info |grep sodium
The other problem I notice is in your install steps, you install libsodium both from source and from PECL. The make install command by default places the libraries in /usr/local/lib, while pecl7 install libsodium will normally install libraries into the default PHP modules directory.
If you were attempting to install from source, your /etc/php-7.0.d/20-libsodium.ini file is incorrect as that is loading the libsodium libraries you installed from PECL (you can check which directory it is loading from by check the extension_dir ini setting from phpinfo()).
If you only need to install from PECL, you do not need all of the development packages or any manual compiling.
EDIT I modified your posted recipe to remove the extraneous steps of downloading the source and just do everything with PECL:
yum install -y php7-pear re2c php70-devel
yum groupinstall -y "Development Tools"
# PHP 7.0
pecl7 install libsodium
vi /etc/php-7.0.d/20-libsodium.ini
; Enable libsodium extension module
extension=sodium.so
service httpd restart
If the YUM repositories for your distribution offer the php7-libsodium package, that would be an even smaller recipe
Hope that helps
Here's my solution to this recipe.
wget -c https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz
tar -xvf libsodium-1.0.18.tar.gz
cd libsodium-1.0.18
./configure
make && make check
make install
sudo pecl7 install -f libsodium
pecl7 should install and modify the php.ini file to include the following in the php.ini
extension="sodium.so"
If you running PHP in Elastic Beanstalk, the following file ./ebextentions/script.config :
files:
"/opt/elasticbeanstalk/hooks/appdeploy/pre/001_libsodium.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
wget -c https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz && tar -xvf libsodium-1.0.18.tar.gz && cd libsodium-1.0.18 && ./configure && make && make check && sudo make install && sudo pecl7 install -f libsodium

How to install apache 2.4.12 from source onto Ubuntu 14.04

I tried to install Apache 2.4.12 from the installation page on the Apache website but to no avail. It said that I needed to install APR, APR-Util and Perl-Compatible Regular Expressions Library (PCRE). So I downloaded them and installed them, so I thought it still gave me an error I think that I am compiling something wrong so if someone could lead me in the right direction that would be great.
Thanks.
why don't you just use:
sudo apt-get install apache2
Cheers,
Nioidai
Please note that you should always install the latest version of a software for more security. I suggest you to install Apache from Ubuntu's apt package manager 'if you are on a production server'. Installing it from source on a local environment doesn't matter.
I've also been trying to do this lately.
Please follow this for the instructions of installing it, by me, with a bit more explanation.
Hope it helps.
To be clean, follow the same steps:
1) Go to http://httpd.apache.org/download.cgi
2) Right click and copy the link of the link like 'Source: httpd-2.4.41.tar.gz'
3) Go to the terminal, and enter the following commands one by one and hit enter for no confusion:
a.
cd /usr/local/src
b.
sudo wget -O- <download-link> | tar -zxf -
c.
sudo apt install libnghttp2 libpcre3 libssl build-essential -y
d. Go to http://apr.apache.org/download.cgi and copy the link like 'Unix Source: apr-1.7.0.tar.gz'
sudo wget -O- <apr-download-link> | tar -zxf -
e. Go to http://apr.apache.org/download.cgi and copy the link like 'Unix Source: apr-util-1.6.1.tar.gz'
sudo wget -O- <apr-util-download-link> | tar -zxf -
f.
sudo mv apr-<apr-version> httpd-<apache-version>/srclib/apr
g.
sudo mv apr-util-<apr-util-version> httpd-<apache-version>/srclib/apr-util
h.
cd httpd-<apache-version>
i. According to me, this configuration is better than any other. The --prefix is where apache is installed.
sudo ./configure --prefix=/usr/local/apache2 --enable-mods-shared="reallyall" --enable-mpms-shared="all"
j.
sudo make
k.
sudo make install
These directories could be altered using the Step 'i'
The apache directory is /usr/local/apache2.
The apache conf directory is /usr/local/apache2/conf.
The apache main conf file is /usr/local/apache2/conf/httpd.conf.
For more info go to http://httpd.apache.org/docs/current/install.html.
Thanks

Radius Apache web server on centos

Hey guys i am having a big problem , i have a centos vps and and i want radius apache web server Authentication. but in these tutorial http://freeradius.org/mod_auth_radius/ , i do not know where i should enter this :
./configure --add-module=LOCATION/mod_auth_radius.c
( i tried that in "var/www" and "etc/httpd" but show me these error : -bash: ./configure: No such file or directory )
Please help me.
You'd have to run ./configure from your Apache source, wherever you built Apache from. Since it sounds like you're new to building stuff, I wouldn't recommend that you build Apache from source.
On Centos 7, I did the following to build it. First, I had to install a couple of packages for Apache development:
sudo yum -y install httpd-devel
sudo yum -y install openssl
sudo yum -y install openssl-devel
Then to build it I did:
cd /tmp
tar xvf mod_auth_radius-1.5.8.tar
cd mod_auth_radius-1.5.8
cp mod_auth_radius-2.{0,4}.c
sed s/remote_ip/client_ip/g -i mod_auth_radius-2.4.c
apxs -i -a -c mod_auth_radius-2.4.c
The sed it because the code doesn't compile right on Apache 2.4.
There, now you have a /etc/httpd/modules/mod_auth_radius-2.4.so ready to go.

Compiling libapache2-svn for Apache 2.4.4

I want to use Apache 2.4.4 with SVN on Ubuntu server 12.04 (Precise Pangolin). But when I use
apt-get install libapache2-svn
I get the following dependencies error
The following packages have unmet dependencies:
libapache2-svn : Depends: apache2.2-common but it is not going to be installed
Googling around I got some suggestion about compiling from source by hand. I don't know how to do that. How can I do it?
I have two solutions:
Follow the instructions in this Server Fault Q&A.
*Note: Create another user if you're using a root account on the server.
I've asked Ondřej Surý on Launchpad to add Subversion to his Apache PPA. You can add Ondřej Surý's PPA to perform a normal update/upgrade.
You did ask Ondrej to include Subversion in his PPA launchpad. But I couldn't install the libapache2-svn package after adding Ondrej's PPA.
Somehow the instructions provided for compiling didn't work for me so here's an alternative way to get it working.
Reference:
(https://askubuntu.com/questions/312568/where-can-i-find-a-subversion-1-8-binary)
WANDisco has Subversion 1.8 for Ubuntu then:
sudo sh -c 'echo "# WANdisco Open Source Repo" >> /etc/apt/sources.list.d/WANdisco.list'
sudo sh -c 'echo "deb http://opensource.wandisco.com/ubuntu precise svn18" >> /etc/apt/sources.list.d/WANdisco.list'
wget -q http://opensource.wandisco.com/wandisco-debian.gpg -O- | sudo apt-key add -
sudo apt-get update
After that:
apt-cache show subversion | grep '^Version:'
And then you should be good to install normally:
sudo apt-get install subversion libapache2-svn

Apache Response Time Monitoring in Hyperic

I seem to be having a hard time getting the Apache module for Hyperic to compile in Ubuntu 8.10. Has anyone had any luck getting it to work? Does anyone have a precompiled version?
I am running Hyperic HQ version 4.1.2 build #1053, Apache 2.2.x
I got it to work by doing the following:
Symbolically link aclocal and automake old hard coded version to your current version (replace version numbers 1.11 to your own):
sudo ln -s /usr/bin/aclocal-1.11 /usr/bin/aclocal-1.6
sudo ln -s /usr/bin/automake-1.11 /usr/bin/automake-1.6
Rename a conflicting header file:
sudo mv /usr/include/openssl/asn1.h /usr/include/openssl/asn_1.h
Run the installer:
sudo ./build_apache_snmp.sh -r 2.0 /usr/bin/apxs2
Once it is finished make sure you follow the directions located at ./README
Once you have confirmed that the SNMP service is working (using the snmpwalk application that the readme file refers to), reverse the steps above to revert system changes just needed to compile the plugin.