I'm trying to set up a Fossil server on an externally hosted Apache server without much luck. I created the cgi script and placed it and the executable in the cgi folder. I don't have access to any directories before the www directory which is considered as my root directory. The problem comes when I attempt to run the script as I always get an 500 internal server error response. Every folder and file has been given 755 permissions.
Can anyone tell me what I am doing wrong?
Here is my script which i named "repo.cgi"
#!/cgi/fossil
repository: /fossils/project.fossil
And this is the url format that gives me the error.
website.com/cgi/repo.cgi
As long as you got "500 internal server error", you have possibly the following issue:
Your web server uses 64bit Linux without 32bit compatibility libraries installed.
On the other hand the official fossil binary is 32bit and compiled to dynamically link some 32bit libraries.
You can fix the problem probably by using the statically linked fossil binary. (I am assuming you can't install the needed libraries on the server).
Download the source code and try to compile it with the proper option. (IIRC "--static")
Related
I want OIDC implementation with my application for SSO integration, and getting an error when trying to execute httpd.exe.
I am using windows server 2008 64 bit.
Apache server 2.4.2 64 bit.
I have downloaded mod_auth_openidc.so for 64 bit downloaded from here -
click here.
I have performed these steps:
Step 1.Downloaded apache 64 bit from here -apache_2.4.2-x64-no-ssl.msi.
Step 2.Downloaded mod_auth_openidc-2.2.0-apache-2.4.x-win64.zip from Git hub - click here
Step 3. Unzipped the file and copied the files to bin and modules location of my apache server respectively.
Step 4. Added the LoadModule auth_openidc_module modules/mod_auth_openidc.so in httpd.conf file present in conf folder in apache.
Step 5. Now when I try to run the apache server(httpd.exe) it gives me an error.
error screenshot here -.
error line from httd.conf file from conf folder -.
Please help!
Thanks in advance.
Please let me know if I can answer your any query.
LoadModule uses a path to load a module, if the path is relative, as in your case, it will be relative to the value in ServerRoot directive.
Since you have manually installed this third party module, you probably should define with full filesystem path to it.
Since you say you copied there already, make sure you are pointing to the correct installation.
It may be a compiler issue; I used binaries from: https://www.apachehaus.com/cgi-bin/download.plx
It may also be due to the version of msvcr120.dll:
mod_auth_openidc library requires msvcr120.dll which is the newer
version of Microsoft VC ++. It looks for this file. We used dependency
walker software to see the tree and what are the required files for
the mod_auth_openidc.iso. It showed missing msvcr120.dll file. We had
to update the current vc++ which added this missing dll in the
windows\System32 folder. and we could restart the server.
See:
https://github.com/pingidentity/mod_auth_openidc/issues/275#issuecomment-305302587
I'm facing a problem due to the folder name "Program Files" in which my wamp is installed.
I'm using Yii Framework to create a web app.
While running a command
yiic webapp c:\Program Files\wamp\www\YiiApp
it gives error due to the white space in the folder name.
The error is as below:
C:\Program Files\wamp\www\yii-1.1.13.e9e4a0\framework>yiic webapp c:\Program Fil
es\wamp\www\YiiApp
Error: Unsupported VCS specified. Currently only git and hg supported.
USAGE
yiic webapp <app-path> [<vcs>]
DESCRIPTION
This command generates an Yii Web Application at the specified location.
PARAMETERS
* app-path: required, the directory where the new application will be created.
If the directory does not exist, it will be created. After the application
is created, please make sure the directory can be accessed by Web users.
* vcs: optional, version control system you're going to use in the new project.
Application generator will create all needed files to the specified VCS
(such as .gitignore, .gitkeep, etc.). Possible values: git, hg. Do not
use this argument if you're going to create VCS files yourself.
What should I do? Please suggest me something.
The second install will have superceeded the first. In other words Wampmanager and Apache and MySQL will be being started out of the new folder.
As per your question on wamp forum, copy wwww/subfolders into the new location and then copy ONLY YOUR databases from mysqlx.y.z/data into the same place in the new location.
Then delete the folders from program files.
You only need one wamp ( Apache/MySQL) per system.
I tried something else:
Without moving the previously installed wamp's content just read the
"uninstall_services.bat" file
just uninstall these services from that wamp directory which you want to disable.
Still the another wamp's services won't start. So install those services mentioned in "uninstall_services.bat" file manually from respective directories.
Now Restart All Services from the tray icon. The required wamp will be enabled.
If won't, try it again. No need to reinstall wamp.
I have been trying on this for hours
i Get the below error
'php' is not recognized as an internal or external command,
operable program or batch file.
Steps i have done
1- I have added to Windows Environement variables C:\wamp\bin\php\php5.3.13;
2-re-installed wamp 2 times
3-Apache and php error log is clean
I have the below configuration
Windows 8 64 bit
Apache 2.2
PHP 5.3.13
Actually the php exe you run in wamp for the CLI is just php.exe
It is found in the c\wamp\bin\php\phpX.Y.Z\ folder and called php.exe
Suggest you create a little batch file to setup the path so you can use it from anywhere by just keying php, like this:
phppath.cmd
set path=%PATH%;c:\wamp\bin\php\phpX.Y.Z
php -v
Store this batch file in a folder on your path and you are golden.
You need to add php to your system path as follows:
go to system properties
chooose advance tab
check the system variables
choose Path then edit it and add at the end ;C:\xampp\php\
Note that system variables in Path are separated with ;
same thing applies to WAMP all you need is to specify your php binaries folder
seems that php-cli.exe dosent come along with WAMP, I installed XAMPP instead and CLI worked perfectly
I get the following error in Terminal when I try to install mod_perl:
Please tell me where I can find your apache src
[../apache_x.x/src]
I've tried using cpan > install mod_perl(even forcing v. 2) AND I've tried just downloading it, and doing $ perl Makefile but they both lead to the same error.
I'm trying to follow steps from http://bulknews.net/lib/mod_perl_guide/install.html or Oreilly's CGI Programming with Perl but the site says:
The first thing first is to download the Apache source code and unpack it into a directory -- the name of which you will need very soon
Mac comes with Apache, which is why I don't want to download it. But how can I find the apache src???
Update: Haven't checked, but did find apache2 folder in ~/private/var/log
Additional Info --- separate locations of mod_perl files:
I have an unzipped folder: mod_perl-1.31 in my ~/Downloads folder. (for manual install)
I found tar.gz files of mod_perl -1 and -2 in ~/G/GO/GOZER/mod_perl-1.31.tar.gz (or 2.04) (for cpan)
Should I delete these?
Let me know if there is any other info required to solve this, or if I somehow missed a post with this same question. Thanks a lot.
It's quite possible that Mac OS X doesn't ship with the apache source code (I'll be damned if I can find it.) I can find no references to it online or on my machine.
I am going to ignore the built-in Apache installation and install my own. This article discusses PHP and Apache on Mac OS X but I'll also be using mod_perl on my system and will adjust as necessary: http://www.phpied.com/installing-php-and-apache-on-mac-osx-that-was-pretty-easy/
Install it dynamically as a dso.
https://perl.apache.org/docs/2.0/user/install/install.html#Dynamic_mod_perl
As part of our product release we ship Apache HTTP Server binaries that we have compiled on our (UNIX) development machine.
We tell our clients to install the binaries (on their UNIX servers) under the same directory structure that we compiled it under. For some clients this is not appropriate, e.g. where there are restrictions on where they can install software on their servers and they don't want to compile Apache themselves.
Is there a way of compiling Apache HTTP Server so its installation location(s) can be specified dynamically using environment variables ?
I spent a few days trying to sort this out and couldn't find a way to do it. It led me to believe that the Apache binaries were hard coding some directory paths at compilation preventing the portability we require.
Has anyone managed to do this ?
I think the way to do(get around) this problem is to develop a "./configure && make" script that your client uses to install, specify and compile the binaries. That would offcourse require that the client has all the source-code installed on his server or you can make it available on an NFS share.
If you are compiling Apache2 for a particular location but want your clients to be able to install it somewhere else (and I'm assuming they have the same architecture and OS as your build machine) then you can do it but the apachectl script will need some after-market hacking.
I just tested these steps:
Unpacked the Apache2 source (this should work with Apache 1.3 as well though) and ran ./configure --prefix=/opt/apache2
Ran make then sudo make install to install on the build machine.
Switch to the install directory (/opt/apache2) and tar and gzip up the binaries and config files. I used cd /opt/apache2; sudo tar cf - apache2 | gzip -c > ~/apache2.tar.gz
Move the tar file to the target machine. I decided to install in /opt/mynewdir/dan/apache2 to test. So basically, your clients can't use rpm or anything like that -- unless you know how to make that relocatable (I don't :-) ).
Anyway, your client's conf/httpd.conf file will be full of hard-coded absolute paths -- they can just change these to whatever they need. The apachectl script also has hard coded paths. It's just a shell script so you can hack it or give them a sed script to convert the old paths from your build machine to the new path on your clients.
I skipped all that hackery and just ran ./bin/httpd -f /opt/mynewdir/dan/conf/httpd.conf :-)
Hope that helps. Let us know any error messages you get if it's not working for you.
I think the way to do(get around) this problem is to develop a "./configure && make" script that your client uses to install, specify and compile the binaries. That would offcourse require that the client has all the source-code installed on his server or you can make it available on an NFS share.
Not to mention a complete build toolchain. These days, GCC doesn't come default with most major distributions. Wouldn't it be sane to force the client to install it to /opt/my_apache2/ or something like that?
#Hissohathair
I suggest 1 change to #Hissohathair's answer.
6). ./bin/httpd -d <server path> (although it can be overridden in the config file)
In apacheclt there is a variable for HTTPD where you could override to use it.