Ubuntu Servers :: PHP/Apache2 Restricted In File Manipulation?
Aug 18, 2010
I have a LAMP server set up (under Ubuntu 10.04 64-bit), and have a PHP application running on the Apache2 server. I copied the "default" website setup, and created a new one with the root at "/home/kota/WebRoot/".
When running my PHP application though, I come across a major issue: The script doesn't seem to be able to modify any files that are currently on the system, or create new ones.
However, this limitation is restricted to when running through Apache2. In other words, if i run it by typing "php5 myapplication.php" from the terminal, it works without a flaw. This leads me to believe that there is a permissions issue, disallowing Apache2 to create and modify files anywhere on my system.
Although it shouldn't make much of a difference, here is the basic information that I feel I should provide:
I am using python as a cgi for a simple game that i'm planning to run on a website. It requires the user to enter his name and age. This is saved in a file newly created in his/her name. However, I'm getting this error The above is a description of an error in a Python program, formatted
63 for a Web browser because the 'cgitb' module was enabled. In case you 64 are not reading this in a Web browser, here is the original traceback: 65 66 Traceback (most recent call last): 67 File "/var/www/webprog.cgi", line 51, in <module> 68 main() 69 File "/var/www/webprog.cgi", line 44, in main
and I have the PHP5 module installed. I vaguely recall that I may have had PHP4 installed - would the upgrade have removed it? Is there anywhere I can get it from to try? Anything else to do?
Anyone have a simple apache2 configuration file package I could get?I'm trying to serve a internal network site for files throughout my network, (music, video, etc). I remember when I did this with Redhat 5-6 and all I had to do was redirect the folder I wanted to share over apache and it worked. You could click on the file you wanted and it played, etc.For some reason I can't even get apache2 that ships with Ubuntu 10.04.02 to even have a "It worked!" internal site or anything. I haven't configured apache2 ever before. It seems to have grown from one or two configuration files to five or so!
Let me *try* and explain what I'm trying to do, and keep in mind aside from a little command line stuff I'm a beginner to any of what I'm asking about.
So that whatever was captured in the () in the first part of the statement would be used in the 1 in the back part of the statement for every n.chatlog that might be in any of the /webserver directories at that time.
I have a string like $(SOMETHING) and want to remove '(' and ')' in a script file. How can I do that? I read that sed command is a filtering utility but don't know how to use it.
I have a computer which has a public IP.My ISP has allowed only port 22 for my machine to be accessed outside from internet.I want rest of my computers which are connected to this machine be accessible via SSH on internet.I can configure IPTABLES to route different ports to internal machines but since ISP has given only one port for the gateway how can I go for it any guesses.I came across some thing reverse SSH tunneling but that has to keep the connection alive all the time at gateway I want my trusted people to be directly able to access the machines on LAN to which they have account to login in this scenario.
I need to do some text file manipulation which I think should be done with standard commands in BASH. I'm looking at comma seperated text files (stock market data). It comes in the form of date, stock code, open, high, low, close, volume. What I need to do first is move all data with same stock code sequentially into individual files.
While doing this since the stock code will now be the file name I need to remove the stock code. Next I need to filter out overlapping data from different files with the same date. ie. where two files contain the same date on the one line only one line will be added to the combined file. I think there must be a tutorial out there for basic text manipulation like this, I just haven't found it yet.
I want to configure a remote internet facing server as git server. I would like to restrict access to the server to a few systems (access is restricted to select computers, not users). I first thought of using ssh key, but the key can be copied to another system hence that alone is not sufficient. I am having a dynamic IP, so simple IP based firewall blocking is also not possible. I was thinking about the possibility of using both SSH Key and IP based access. Is it possible to update the firewall rule whenever my ip gets changed?
I think my apache2 is owned and running as root. I don't know if I installed it like a noob a while ago but I would like to secure it now especially since I just figured out how setup virtual hosts and I may want to eventually let people host sites on my server and I obviously don't want to have to give them root access. How can I confirm that apache2 is running as root and how do I take it away from the root user?
I am using Ubuntu Server 10.04 64bit. I am getting an Apache2 start up error after I setup my certificates and configure Apache2 for HTTPS. At the point on start up where I need to type in my certificate pass code I get a lockup due to the Apache2 process being in a hung state. I reboot if needed and switch to console tty2. When I type in the command.
Code:
I get the following error.
Code:
To correct the problem I do this.
Code:
From the output of the command above I look for the apache2 process and make note of its process ID. Then, I kill that process ID. For example, the command below has an apache2 process ID of 1131.
Code:
Next, when I run this command.
Code:
The apache2 server starts up and asks for my certificate password, accepts it when I type it in, and runs perfectly fine afterward.
Fortunately this instance of Ubuntu Server is running inside a VMWare virtual machine. I can just "pause" the virtual machine if I need to rather than going through this crude and tedious start up process too frequently.
Crude and tedious are feelings I'm having too frequently lately with Ubuntu Server.
So I've got a box running 10.04LTS Server, and on it is running the latest build of Apache2.It's a home box - a server set up for the sole purpose of experimenting and having fun with. So far, the fun is mostly breaking it over SSH and then fixing it when I get home and can log into it via recovery.What I really want to do is to get this box set up with Apache2 the way it seems like it was designed - with Apache2 serving web pages from its default file location (/var/www) but also being able to log in and upload/download new web page files to that directory over SCP or SFTP. I keep hitting snags.Here's what I've done so far:
1. The server is set up in a DMZ at home and my router updates a Dynamic DNS record; so far I can SSH into it no problem.
2. Apache is working. I get my "it works!" page when I enter either the IP or the dyndns domain name.
3. SFTP is sort of working. I can log on using WinSCP and see the files and download them, but I can't upload to the default directory with my normal login.
Here's my issues: 1. I want to set up Apache *correctly*. To me, that means leaving it pointing to the default directory, but still being able to upload to that directory. I have not (and probably will not) enable the root account. I've set the permissions to 755. I've tried chown'ing the directory, but then it seems I can't view the webpages.As a workaround, I created a www folder in my default user home directory and pointed Apache2 there in the 'default' file in /etc/apache2/sites-available. The changes read as follows:
That gives me a workaround for the default directory SFTP issue, but I would rather learn what I need to do to have it set up and working with default values.
2. You may notice I added Includes under the Options. My goal is to get server-side includes working. But they aren't. I have some existing webpages my work has set up - I using these as a template to use to adapt a flash movie I made to a specific resolution, as well as to learn how to optimize my flash for a webpage. Our webhost uses virtual hosting; I am not yet doing so. I'm not sure what they've done to set up the server-side includes, but the files they are using are all html files - no shtml. The include files themselves have either .htm or .html extensions. All of the pages have .html extensions.
My reading said that I need mod_include installed in Apache2. Where can I check to see that it is installed? Where do I need to add the Includes under Options?Is it in the right place? And finally, where do I need to add XBitHack on to enable it? This is the method that Apache suggests, but the documentation offers no clue as to where to put it. Most of the documentation out there refers to apache.conf, but that's the Apache 1.3 way of doing things.I really just want this to be set up according to the defaults as much as possible.I want to have a good working knowledge of Apache and of how to set it up and configure it, but dang it if it isn't a frustrating process.
I'm very baffled by this, I was setting up my mumble server since my old one had a hard disk failure. I was messing around with web registration but decided I didn't want it since this server is really only for a few friends.
So I removed all the mumble-django and apache2 packages required for web registration, but for some reason apache2 is still on my system and listening for connections.
terminal output below to further clarify.
Code: Linux voiceserv 2.6.35-27-generic #48-Ubuntu SMP Tue Feb 22 20:25:29 UTC 2011 i686 GNU/Linux Ubuntu 10.10 Welcome to Ubuntu!
I have a problem with apache server. The thing is - I can connect to my server on localhost, but when I try to connect from local network, it doesn't reply.
I can ping my web server from lan. I can ssh my web server from lan.
I haven't modified iptables since install except these commands>
Code: iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d $MY_SERVER_IP --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -s $MY_SERVER_IP --sport 80 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
My home directory's permissions allow only myself access to it. Is it possible to put a file inside my home directory with.. say.. full permissions, and create a symlink to it so other users can access that file alone inside my home folder? System is Ubuntu Karmic.
How to resolve this apache2 problem I keep getting, I have installed a debian LAMP server with ispconfig3 and everytime I reboot apache fails to start, I don't know and I have done some research but nothing seems to work, which leads me to reinstall everything from scratch again, I think I have reinstalled at least 10x or more.
Very new to Ubuntu (linux) in general and read various forum and threads to get .pl file to run on a new Ubuntu 9.10.My cgi-bin is in /var/www/site/cgi-bin. The server will run 2 websites site1 and site 2. Site2 is html only and site1 has some cgi and pl files. Everytime i get to the cgi-bin/other_director the browser tries download the file or even if going directly to index.pl. Please find attached my site-available for both default and site1 for your consideration. I also ran a2ensite site1 and a2ensite site2, the reloaded the apache2 serverQuote:
I'm a newb when it comes to linux operating systems so I'm attempting to get better through experience. I work for a web development company and we use Ubuntu for our operating systems (the programmers at least). Anyways, I'm trying to install LAMP services and get them working. I have all L.A.M.P. services installed... but Apache2 is giving me a problem. I have an .htaccess file installed in a directory under my document root. But Apache2 is not interpreting it. I have AllowOverride All on but I can't figure it out. I did make a bogus .htaccess file attempting to make apache give me a error, nothing.
I'm configuring an Ubuntu server that's running x64 9.1. I installed the LAMP stack during the os installation and now I need to build an apache2 module. It appears as though apxs is missing. I've installed apache2-threaded-dev but am still missing apxs2.
I have had a LAMP setup on my computer for a while without any trouble but I have suddenly become unable to access it through either localhost or my IP address. I have tried removing and reinstalling the packages but it still doesn't work and the /var/log/apache2/error.log does not give me any errors.