Dependecies for Debian and Ubuntu
Introduction
You can install all required packages from official repositories of Debian Lenny and Ubuntu Intrepid (8.10).
General Dependencies
For building from svn you need:
subversion
automake
autoconf
libtool
Framework Dependencies
Note: these are the dependencies for CppCMS 0.0.x on Debian.
The dependencies are very different for CppCMS 1.x.x. See
CppCMS 1.x.x Build dependencies.
Mandatory
libcgicc5-dev
libboost1.35-dev
libboost-iostreams1.35-dev
libboost-signals1.35-dev
libboost-regex1.35-dev
libboost-system1.35-dev
libboost-date-time1.35-dev
Recommended
One of following (web servers):
- For Lighty:
lighttpd
- For Nginx:
nginx
- For Apache web server:
apache2-mpm-prefork
or apache2-mpm-worker
or apache2-mpm-event
libapache2-mod-fastcgi
Suggested
libmm-dev
libgcrypt11-dev
libsqlite3-dev
sqlite3
gettext
DbiXX SQL Library
Mandatory
Recomended
You need one or more according to your needs:
libdbd-mysql
--- for MySQL backend
libdbd-sqlite3
--- for Sqlite3 Backend
libdbd-pgsql
--- for PgSQL backend
<h1>include <iostream></h1>
<h1>include <string></h1>
<h1>include <cstring></h1>
include <sys/socket.h>
include <netinet/in.h>
include <unistd.h>
int main() {
int server_fd, client_fd;
struct sockaddr_in address;
int addrlen = sizeof(address);
// HTML content to be served
std::string html =
"HTTP/1.1 200 OK\r\n"
"Content-Type: text/html\r\n\r\n"
"<!DOCTYPE html>"
"<html>"
"<head><title>My C++ Web</title></head>"
"<body><h1>Welcome to a Simple Web Page!</h1><p>This is served from C++.</p></body>"
"</html>";
// Create socket
server_fd = socket(AF_INET, SOCK_STREAM, 0);
if (server_fd == 0) {
perror("socket failed");
exit(EXIT_FAILURE);
}
// Bind
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(8080);
if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
perror("bind failed");
exit(EXIT_FAILURE);
}
// Listen
if (listen(server_fd, 3) < 0) {
perror("listen");
exit(EXIT_FAILURE);
}
std::cout << "Server is running on http://localhost:8080" << std::endl;
while (true) {
// Accept client
client_fd = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen);
if (client_fd < 0) {
perror("accept");
exit(EXIT_FAILURE);
}
char buffer[3000] = {0};
read(client_fd, buffer, 3000); // Read client request
std::cout << "Request:\n" << buffer << std::endl;
// Send response
send(client_fd, html.c_str(), html.size(), 0);
close(client_fd); // Close connection
}
return 0;
}
<h1>include <iostream></h1>
<h1>include <string></h1>
<h1>include <cstring></h1>
include <sys/socket.h>
include <netinet/in.h>
include <unistd.h>
int main() {
int server_fd, client_fd;
struct sockaddr_in address;
int addrlen = sizeof(address);
// HTML content to be served
std::string html =
"HTTP/1.1 200 OK\r\n"
"Content-Type: text/html\r\n\r\n"
"<!DOCTYPE html>"
"<html>"
"<head><title>My C++ Web</title></head>"
"<body><h1>Welcome to a Simple Web Page!</h1><p>This is served from C++.</p></body>"
"</html>";
// Create socket
server_fd = socket(AF_INET, SOCK_STREAM, 0);
if (server_fd == 0) {
perror("socket failed");
exit(EXIT_FAILURE);
}
// Bind
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(8080);
if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
perror("bind failed");
exit(EXIT_FAILURE);
}
// Listen
if (listen(server_fd, 3) < 0) {
perror("listen");
exit(EXIT_FAILURE);
}
std::cout << "Server is running on http://localhost:8080" << std::endl;
while (true) {
// Accept client
client_fd = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen);
if (client_fd < 0) {
perror("accept");
exit(EXIT_FAILURE);
}
char buffer[3000] = {0};
read(client_fd, buffer, 3000); // Read client request
std::cout << "Request:\n" << buffer << std::endl;
// Send response
send(client_fd, html.c_str(), html.size(), 0);
close(client_fd); // Close connection
}
return 0;
}
Navigation
Main Page
Valid CSS
| Valid XHTML 1.0