I am currently making a portable version of Apache for windows, and need to replace a single line of text in every file with a different one. I was wondering what the best way to do this would be? I'm trying to do it in Batch, but it's not weorking very well.
Did you try one of the existing portable versions?
Sometimes, the impossible can become possible, if you're awesome!
I searched for them on google, but came up with a lot's of things telling me to just install Xampp or OpenSA lite onto the thumbdrive, which works except when the drive letter is different.
would do the job.
However you don`t have to specify a drive letter.
If you dont Apache automatically uses the letter of the drive its located
"If you're not part of the solution, you're part of the precipitate."
Uniform Server impressed me. It comes packed with Apache, PHP, Perl, MySQL, etc. Best of all, it is portable.
Rob Loach [Website] [Projects]
Check out MicroApache. The only thing I'd like on top of that is a nice small copy of MySQL.
My running webserver with PHP is 870kb.
I've done you a quickie distro of MicroSQL to check out.
I can't swear it's going to work as I've not tested it yet by integrating into MicroPHP. It does work on my laptop using the console functions in MySQL and resides alongside the current "service" version of MySQL. In order that it can reside as a 2nd copy of MySQL whilst under test I have configured it for port 3307 and to run as an App rather than a service. You can change to 3306 and install as a service if you want. Note that MySQL is a program which will A) guzzle disk space and B) require some expert config!.
You will need to "knit" MySQL into PHP. To do this you will need to add the relevant MySQL config section to PHP.INI then add-in the libmysql.dll file to your \apache folder. Fingers crossed that should be the lot but obviously I need someone to test it properly. The extra files are linked on the same page for you. Once I've got it debugged I will do a full ZIP bundle for distribution.
The distro is 7.8Mb (about 4.5Mb ZIP download) plus PHP connectivity.
This works fine on my USB drive. I think I'll avoid using MySQL much as I don't like the huge files it needs to create (shooting up to 38Mb+).
I've posted a query on the SQL forum as I'm sure that the size of the temp files/working space can be reduced a bit.
I've got it safely down to 18.6Mb (the whole mysql and data folders), although that's still a lot bigger than most portable applications I use.
Query posted at:
You can reduce 2 of the files at least to 4mb each. What tweaks did you apply?
# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for t
# recovery process.
Using NTFS compression I have 24mb which squashes down to 5.63 MB (5,906,087 bytes) on disk when operating. Industrial strength databases are inherently big!!
innodb_thread_concurrency=2 # changed from 8, probably not good
No compression used, and the only annoying file is ibdata1 - which remains at 10MB.
http://www.devx.com/IBMDB2/Article/28526 - claims small footprint and Apache/Java support.
PS Deleting mysqladmin.exe and mysql.exe will reduce my compressed footprint by about 1mb to about 4.5mb
You may also be able to save about 20mb of live space by enabling the skip-innodb setting. This needs testing but it causes the 3 x 10mb files NOT to be created yet preliminary tests show PHP still works on basic queries OK. Disabling innoDB was recommended on the mysqlfreaks forum.
Now 4.3mb compressed and operation in NTFS folder with mysql.exe and mysqladmin.exe removed. 5.58Mb uncompressed and running (excluding your live data obviously)
What sort of file, text or INI?
Do the changes need to be made statically during development or dynamically at runtime??
I wrote a dynamic INI file updater many years ago. Its DOS but it did work well enough for GPT (Plessey) to use it for their destkop!.
I also had a dynamic single-line file editor somewhere. I can't find the EXE as its about 10 years old but I may still have the "C" source code.
Failing that, SED is good for static use and you can get it for Win32.
I've done a micro-distro of Apache 2.2.2 (Win32 only) to follow on from 2.0.x and 1.3.x as well as MicroPHP and MicroSQL (all portable).
Live demo at http://support.amadis.sytes.net:8801
Download from http://microapache.amadis.sytes.net
Supplied config is "drive letter free". Just unzip to a folder then run
327kb ZIP file. Unzips to 439kb (including 26kb cgi demo + demo web page)
I've been working on a tiny (and portable)CGI-based Win32 POP3 Webmail client for MicroApache. The full EXE weighs in at less than 200k and compresses down to about 70k tops.
It includes MIME/HTML/Base64 compatible message viewing and a simple SMTP reply/send feature. Attachments are supported as is viewing of inline images. The protocol support is fully built in and written using raw windows sockets No external depenencies are are required other than say a CSS style sheet if you want a pretty-looking interface (and the config file which is self-maintaining).
I may consider writing a really tiny equivalent text-mode POP3 mail reader/mailer which shouldn't be too hard using the same libs.
Using the app you can log in and check/view/delete/reply/send emails using any standard POP3 account (you use your ISP SMTP server for outbound mail)
It's still under development but missing only a couple of features such as spam filtering etc. It's freeware and you can download from http://cgipop.amadis.sytes.net
Together with MicroApache you can add a small email client in about 900k
there's a really good portable app, well packaged as a WAMP pile.
Unfortunately, the web site is only in French and the apps have not been updated recently.
But it's all packaged in one executable that launched an icon in the taskbar which you use to start the web apps.
* Apache 2.0.54
* MySQL 4.1.12
* PHP 5.0.4
* phpMyAdmin 2.6.2-pl1
Have a look: